1

学生記録アプリケーションを作成しています...編集可能な列が必要です。テーブルモデルリスナーをテーブルにアタッチし、その列にすべての更新値を保存しています

if(table.getSelectedColumn() == 3 && table.getSelectedRow() != -1 && tme.getType() ==     TableModelEvent.UPDATE)
{
// my code here
table.cellEditAt(row,column); // this is giving me error
}

table.cellEditAtテーブルモデルイベントを自動的に呼び出し、それが無限ループを生成しています...編集するセルを自動的に選択する他の方法????

4

2 に答える 2

2

たとえば、私の答えに リンクされたTabelModelListenerを実装することによる無限ループに関する私の質問に基づいて、あなたの問題を示すSSCCEを投稿してください。

于 2012-01-08T11:57:47.093 に答える
1

答えは、SSCCE を投稿することでした。私たちは読者を気にしません。editCellAt(...) メソッドが何をするのか推測できません。ループが発生する場合は、何らかの方法でモデルを変更し、別の TableModelEvent を生成しているためです。これをしないでください!

問題が何らかの形でセルを編集モードにすることに関連している場合は、そのコードを SwingUtilities.invokeLater() でラップして、別のセルを編集モードにする前に元のイベントの処理が完了していることを確認する必要があると思います.

于 2012-01-08T16:31:19.923 に答える