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

Làm cách nào chúng ta có thể tắt tính năng chỉnh sửa ô bên trong JTable trong Java?


A JTable là một lớp con của JComponent để hiển thị các cấu trúc dữ liệu phức tạp. JTable có thể tuân theo mẫu thiết kế Model View Controller (MVC) để hiển thị dữ liệu trong các hàng và cột. JTable có thể kích hoạt TableModelListener , TableColumnModelListener , ListSelectionListener , CellEditorListener RowSorterListener các giao diện. Theo mặc định, chúng ta có thể chỉnh sửa văn bản và sửa đổi nó bên trong một ô JTable. Chúng tôi cũng có thể tắt chỉnh sửa ô bên trong bảng bằng cách gọi editCellAt () phương thức của lớp JTable và nó phải trả về false .

Ví dụ

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
public final class DisableJTableMouseClickTest extends JFrame {
   private JTable table;
   private JScrollPane scrollPane;
   public DisableJTableMouseClickTest() {
      setTitle("DisableJTableMouseClick Test");
      String[] columnNames = {"Country", "Rank"};
      Object[][] data = {{"England", "1"}, {"India", "2"}, {"New Zealand", "3"}, {"Australia", "4"},       {"South Africa","5"}, {"Pakistan","6"}};
      table = new JTable(data, columnNames) {
         public boolean editCellAt(int row, int column, java.util.EventObject e) {
            return false;
         }
      };
      table.setRowSelectionAllowed(false);
      scrollPane= new JScrollPane(table);
      add(scrollPane);
      setSize(400, 275);
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      setLocationRelativeTo(null);
      setVisible(true);
   }
   public static void main(String[] args) {
      new DisableJTableMouseClickTest();
   }
}

Đầu ra

Làm cách nào chúng ta có thể tắt tính năng chỉnh sửa ô bên trong JTable trong Java?