どのようにtableModel.getValueAt(row、colHidden)を使ってアクセスできるように、JTableの列を非表示にするのですか?

tableModel.getValueAt(row、colHidden)を使用してアクセスできるように、JTableの列を非表示にする方法

私はそのようにしましたが、 tableModel.getValueAt(row、6)を使用して6番目の列にアクセスできませんでした:

tbl.getColumnModel().getColumn(6).setPreferredWidth(0);
tbl.getColumnModel().getColumn(6).setMinWidth(0);
tbl.getColumnModel().getColumn(6).setMaxWidth(0);

エラーメッセージ:

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 6
1

2 答え

JTable#removeColumn します。これは、望ましい幅を設定する方が良い

しかし、あなたのメソッド呼び出しでも、そのデータにアクセスできるはずです。あなたのテーブルが7つの列を持っていることは確かですか?(最初の列はインデックス0に位置しているので...)

0
追加された
はい、私は最初の列が0で始まることを知っています。tbl.getColumnModel()。getColumn(6).setPreferredWidth(0);を使用しない場合は動作します。したがって、私は他の方法があるかどうか疑問に思いました。
追加された 著者 Klausos Klausos,
RecvCallsTable.getColumnModel().removeColumn(RecvCallsTable.getColumnModel().getColumn(5));

これにより、モデルの列がユーザーのビューから削除されますが、インデックス値を使用してアクセスできるようになります。私はこれをいつも使っていて、完璧に動作します

0
追加された