如何在 Java 中禁用 JTable 中的单元格编辑?
JTable 是 JComponent 的子类,用于显示复杂的数据结构。JTable 可以遵循模型视图控制器 (MVC) 设计模式按行和列显示数据。JTable 可以触发 TableModelListener、TableColumnModelListener、ListSelectionListener、CellEditorListener 和 RowSorterListener 接口。默认情况下,我们可以编辑文本并在 JTable 单元格中修改文本。我们也可以通过调用 JTable 类的 editCellAt() 方法来禁用表中的单元格编辑,并且该方法必须返回false。
示例
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();
}
}输出
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP