• ベストアンサー

JTable の 列幅を個別に設定するには

JTable の 列幅を個別に設定するには、 どのようにしたらよいのでしょうか? APIを参照しましたが、個別に列幅を 変えられるようなメソッドは見当たらなかったのですが…

質問者が選んだベストアンサー

  • ベストアンサー
  • HarukaV49
  • ベストアンサー率53% (48/89)
回答No.2

簡単なサンプルコードを示しました。 ご参考まで。 import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; public class TableSample { public static void main(String[] args) { JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JTable table = new JTable(); table.setModel( new DefaultTableModel(100,30) ); table.setAutoResizeMode( JTable.AUTO_RESIZE_OFF ); table.getColumnModel().getColumn(3).setPreferredWidth( 150 ); table.setRowHeight( 2, 60 ); table.setValueAt( "<html>ここの列幅を150<br>行高を60にしました", 2, 3 ); frame.add( new JScrollPane(table) ); frame.setSize( 800, 400 ); frame.setVisible( true ); } }

その他の回答 (1)

  • tekebon
  • ベストアンサー率62% (36/58)
回答No.1

JTable#getColumn("列名")でTableColumオブジェクトを取得し TableColum#setPreferredWidth(列の幅)で設定できます。 しかしJTableの幅によって再調整されてしまうので工夫が必要です。

関連するQ&A