Computer >> Máy Tính >  >> Lập trình >> Java

Làm cách nào chúng ta có thể ngăn việc sắp xếp lại các cột của một JTable trong Java?

A JTable là một lớp con của JComponent và nó có thể được sử dụng để tạo một bảng với thông tin được hiển thị trong nhiều hàng và cột . Khi một giá trị được chọn từ JTable, TableModelEvent được tạo, được xử lý bằng cách triển khai TableModelListener giao diện. Theo mặc định, chúng ta có thể sắp xếp lại các cột trong JTable. Chúng tôi không thể cho phép người dùng sắp xếp lại các cột bằng cách sử dụng table.getTableHeader (). SetReorderingAllowed () phương pháp và đặt giá trị là false .

Ví dụ

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); // not allow re-ordering of 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();
   }
}

Đầu ra

Làm cách nào chúng ta có thể ngăn việc sắp xếp lại các cột của một JTable trong Java?