TableColumnの幅を比率で設定

編集者:Terai Atsuhiro
作成日:2005-11-28
更新日:2021-11-27 (土) 13:30:44

概要

TableColumnの幅を比率で設定します。

#screenshot

サンプルコード

TableColumn col0 = table.getColumnModel().getColumn(0);
TableColumn col1 = table.getColumnModel().getColumn(1);
TableColumn col2 = table.getColumnModel().getColumn(2);
int w = table.getBounds(null).width;
if(w==0) w = 512;
int wr = list[0]+list[1]+list[2];
col0.setMaxWidth(list[0]*w/wr);
col1.setMaxWidth(list[1]*w/wr);
col2.setMaxWidth(list[2]*w/wr);
table.revalidate();
  • &jnlp;
  • &jar;
  • &zip;

解説

上記のサンプルでは、コロン区切りで入力した比率にしたがって、ヘッダカラムの幅を調整するようになっています。

フレームのサイズを変更しても、カラムの比率は保存されます。

TableColumn#setMaxWidthメソッドでカラムの幅を指定しているので、マウスのドラッグによるサイズの変更はできません。

コメント