1

CellSelectionを有効にしてクリップボードにコピーできる巨大なjtableを作成するプログラムがあります。テーブル全体をコピーするアクションもあります。

それは次のようにして行われます:

correspondentTable.selectAll();
// then copy
correspondentTable.clearSelection();

その後、このアクションの後に「複雑な」選択が復元されると非常に便利です。

これまでのところ見つけましtable.changeselection(row, col, toggle, extend)たが、これを行うための「よりエレガントな」方法があるかどうか疑問に思いました。

4

1 に答える 1

1

個々のセルを探している場合は、テーブルセルを繰り返し処理し、を使用してそれらを確認できますisCellSelected。実際、私はそれ以上の「よりエレガントな」解決策を見ていません。

チェックする必要のある範囲を制限できるはずです。

getSelectedRow()最小インデックスを取得するために使用し、getSelectedRows()すべてのインデックスを取得します。列にも同様の関数があります。

これらの値をどこかに保存し、を使用changeSelectionして選択を復元します。

編集:選択値を格納する列モデル( getColumnModel())と選択モデル( )を取得できます。getSelectionModel()それらをコピーできる場合は、後でそこに値を再適用できます。

于 2012-04-04T09:33:39.077 に答える