当用户双击时,我试图使 JTable 的所有单元格都不可编辑。我读了很多论坛帖子,普遍的共识是创建一个新的表模型类,扩展 DefaultTableModel 然后覆盖方法 isCellEditable(int row, int column)。我做了所有这些,现在当我运行我的程序(小程序)时,单元格中没有显示任何内容。注意这个学期我有一位教授认为小程序并没有过时......
表模型的代码:
public class MyTableModel extends DefaultTableModel
{
public boolean isCellEditable(int row, int column) //override isCellEditable
//PRE: row > 0, column > 0
//POST: FCTVAL == false always
{
return false;
}
}
Code in my class: **NOTE** this class extends JPanel
private JScrollPane storesPane;
private JTable storesTable;
Code in the Constructor:
storesTable = new JTable(tableData, COL_NAMES); //tableData and COL_NAMES are passed in
storesTable.setModel(new MyTableModel());
storesPane = new JScrollPane(storesTable);
storesTable.setFillsViewportHeight(true);
add(storesPane, BorderLayout.CENTER);
希望你们中的一些 Java 大师能找到我的错误 :)