我試圖使用戶雙擊時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大師可以找到我的錯誤:)
請參閱編輯以回答問題。 –