Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

วิธีป้องกันการ Re-ordering Columns ของ JTable ใน Java

JTable เป็น subclass ของ JComponent สร้างตารางแสดงข้อมูลใน multiple rows and columns เมื่อเลือกค่าจาก JTable จะสร้าง TableModelEvent จัดการโดย implement TableModelListener interface โดย default สามารถ re-ordering columns ใน JTable ได้ เราสามารถไม่ให้ user reorder columns ได้โดยใช้ table.getTableHeader().setReorderingAllowed() method ตั้งค่าเป็น false

ตัวอย่าง

import java.awt.*;
import javax.swing.*;

public final class JTableColumnReorderingTest extends JFrame {
    JTable table;
    JScrollPane scrollPane;

    public JTableColumnReorderingTest() {
        setTitle("JTableColumnReordering Test");
        String[] columnNames = {"Name", "Mobile Number", "Course"};
        Object[][] data = {{"Raja", "123456789", "Java"}, {"Adithya", "456123789", ".Net"},
            {"Vineet", "789456123", "Java Script"}, {"Archana", "987456321", "Python"},
            {"Krishna", "321456987", "Scala"}, {"Jai", "456321789", "ServiceNow"}};
        table = new JTable(data, columnNames);
        scrollPane = new JScrollPane(table);
        table.getTableHeader().setReorderingAllowed(false); // ไม่อนุญาต re-ordering columns
        table.getTableHeader().setResizingAllowed(false);
        add(scrollPane);
        setSize(375, 250);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
        setVisible(true);
    }

    public static void main(String[] args) {
        new JTableColumnReorderingTest();
    }
}

Output

วิธีป้องกันการ Re-ordering Columns ของ JTable ใน Java