10

重複の可能性:
Swing Java で JTable の列
を非表示にする方法 DefaultTableModel の特定の列をテーブルに表示されないようにするにはどうすればよいですか?

JTable の 3 つの列にデータを入力しようとしていますが、2 つの列だけを表示したいです。実際には、幅を 0 に設定するのではなく、クリック イベントで非表示の列からデータを取得できる他の方法で、3 番目の列を非表示にしたいと考えています。

この方法で列を非表示にするにはどうすればよいですか?

次のコードを使用しています。

 try {
     String Title[]= new String{"a","b","c"};
     Object obj= new Object[50][3];
     JTable table= new JTable(obj,title);
     JScrollPane jsp= new JScrollPane(table); 
     add(jsp);
 } catch(Exception ex) {
     ex.printStackTrace();
 }
4

1 に答える 1

29

列の最小幅と最大幅をゼロに設定します。

table.getColumnModel().getColumn(columnIndex).setMinWidth(0);
table.getColumnModel().getColumn(columnIndex).setMaxWidth(0);

コメント セクションで Andrew Thomson が示唆しているように、removeColumnも使用できます。

javaDoc から;

removeColumn

public void removeColumn(TableColumn aColumn) 

この JTable の列の配列から aColumn を削除します。注: このメソッドは、モデルからデータの列を削除しません。表示を担当していた TableColumn を削除するだけです。パラメータ: aColumn - 削除する TableColumn

PS:しかし、私は個人的に最初のアプローチを使用して、の列を非表示にしましたJTable。方法をありがとう、removeColumn私は今からそれを使用しようとします。

于 2012-12-20T13:58:02.743 に答える