[英]creating an uneditable jtable displayed in jframe
我今天遇到了jtables,这是一种代表从数据库中检索到的信息的好方法,例如,如以下代码所示:
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
public class JTableCreatingDemo {
public static void main(String args[]) {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Object rowData[][] = { { "Row1-Column1", "Row1-Column2", "Row1-Column3" },
{ "Row2-Column1", "Row2-Column2", "Row2-Column3" } };
Object columnNames[] = { "Column One", "Column Two", "Column Three" };
JTable table = new JTable(rowData, columnNames);
JScrollPane scrollPane = new JScrollPane(table);
frame.add(scrollPane, BorderLayout.CENTER);
frame.setSize(300, 150);
frame.setVisible(true);
}
}
我唯一不喜欢的是,如果我单击表条目,则可以更改它们。 我不喜欢这样。 我想知道是否有办法可以防止这种情况的发生?
您可以使用AbstractTableModel
,但是可能要比准备的工作多,而要使用DefaultTableModel
并覆盖其isCellEditable
方法以返回false
例如...
DefaultTableModel model = new DefaultTableModel(rowData, columnNames) {
@Override
public boolean isCellEditable(int row, int column) {
return false;
}
};
JTable table = new JTable(model);
有关更多详细信息,请参见如何使用表
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.