ユーザーがダブルクリックしたときに、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);
うまくいけば、JavaGurusが私のエラーを見つけることができるでしょう:)