0

私はJavaで作業しています。JTable を作成し、テーブルのセルを編集可能にしました。私の問題は、セルを選択して値を書き込んで Enter をクリックすると、入力した値が入力したセルにとどまらず、テーブルのどこかにある別のセルにジャンプすることです。値は同じままですが、その上に入力したセルがあります。

テーブルのセルをクラス Cell のインスタンスとして表します。

デフォルトで何かが起こり、セルの値がセルにとどまるようにするために何を変更すればよいかわかりませんが、JTablesに関するオンラインの資料をいくつか調べました。何が問題なのか、それを修正するにはコードのどこを調べればよいか分かりますか? 前もって感謝します。

4

1 に答える 1

2

モデルインデックスがどこかで混乱しているようです。

RowSorterを使用している場合、JTable.getSelectedRowは、モデル内の行ではなく、表示されている行のインデックスを返します。RowSorter.convertRowIndexToModel()を使用して、正しいインデックスを取得できます。

JTableModel.setValueAt()メソッドを再確認して、セルインデックスが編集したものであり、新しい値が正しい場所に格納されていることを確認します。

于 2009-01-26T10:28:45.220 に答える