プロが教える店舗&オフィスのセキュリティ対策術

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

A 回答 (2件)

JTable#getColumn("列名")でTableColumオブジェクトを取得し


TableColum#setPreferredWidth(列の幅)で設定できます。

しかしJTableの幅によって再調整されてしまうので工夫が必要です。
    • good
    • 1

簡単なサンプルコードを示しました。


ご参考まで。


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 );

}
}
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!