我试图使用户双击时JTable的所有单元不可编辑。我已经阅读了很多论坛帖子,一般的共识是创建一个新的表模型类,扩展DefaultTableModel,然后重写方法isCellEditable(int row,int column)。我做了所有这些,现在当我运行我的程序(applet)时,单元中没有任何东西显示出来。 注意我有一个教授这学期不认为小程序已经过时......使JTable单元不可编辑
代码表型号:
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大师可以找到我的错误:)
请参阅编辑以回答问题。 –