3

ユーザーの編集を処理できるはずのJTableforを作成しています。Appletそのため、を拡張しAbstractTableModel、テーブルにデータを正常に入力しました。私の問題は、データが入力された後、テーブルをクリックしても編集できないことです。

メソッドをオーバーライドして、メソッドが呼び出されるたびにコンソールにメッセージを出力するだけでなく、isCellEditable()常にメッセージを出力します。return trueただし、テーブルを操作すると(任意の単一セルをマウスで連続してクリックすることで)、セルは編集可能にならず、isCellEditable()呼び出されることもありません。

私の質問は、特定のセルを編集するために何を呼び出す必要があるかということです。投稿にコードが不足していることをお詫びしますが、コードは非常に独占的であり、上司はコードのリリースに非常に厳格です。

4

2 に答える 2

4

上司の利益を保護するために、質問を編集して、説明した問題を示すsscceを含めます。開始点に適したいくつかの例は、「テーブルの使用方法」にあります。このは、編集可能なを示していますAbstractTableModel。あなたはそれをあなたの実装と比較するかもしれません。

于 2012-06-01T20:31:53.253 に答える
3

1.すでに画面に表示されているものに追加さAbstractTableModelれていますかJTable

2.はいの場合、コード行はそうではありませんisCellEditable()が、

@Override
public boolean isCellEditable(int row, int column) {
    return true;
}

DefaultTableModel3.必要なメソッドをオーバーライドするのではなく、を使用することをお勧めしますAbstractTableModel

于 2012-06-01T20:26:26.963 に答える