私は JTable を使用しています:
public class MyPanel extends JPanel {
public MyPanel () {
init()
}
init () {
DataModel model = new DataModel();
JTable table = new JTable (model);
TableColumnModel tcm = agentsTable.getColumnModel();
tcm.getColumn(FIRST).setPreferredWidth(15);
tcm.getColumn(SECOND).setPreferredWidth(100);
tcm.getColumn(THIRD).setPreferredWidth(200);
JScrollPane scroller = new JScrollPane();
scroller.getViewport().add(table);
this.add(scroller, BorderLayout.CENTER);
}
}
public class DataModel extends AbstractTableModel {
public final static int FIRST = 0;
public final static int SECOND = 1;
public final static int THIRD= 2;
...
}
問題は、モデルに行を追加するたびに、TableColumnModel がデフォルトに戻ったように見え、すべての列の幅が同じになることです。