TOP →
Java →
Swing →
JTable → This Page
JTable@Swing サンプル06
概要
Java -
Swing -
JTable のサンプルです。
・列幅を設定
・最小列幅を設定
・最大列幅を設定
解説
各種列に対して幅、最小幅、最大幅を設定しています。
サンプルイメージ
幅変更前。
2列目の幅を最も狭く、3列目の幅を最も広げた状態。
設定した最小幅、最大幅よりは変更できません。
サンプルソース
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableColumnModel;
import javax.swing.table.TableColumn;
/**
* JTable サンプル06
* ・列幅を設定
* ・最小列幅を設定
* ・最大列幅を設定
*
* @author みっちー
*/
public class JTable06 extends JFrame {
private static final long serialVersionUID = 1L;
/**
* 開始メソッド
*
* @param args パラメータ
*/
public static void main(String[] args) {
JTable06 frame = new JTable06();
// 閉じるボタンをクリックされた場合の動作を設定
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// ウインドウのタイトルを設定
frame.setTitle("JTable サンプル06");
// フレームの X座標、Y座標、幅、高さを設定
frame.setBounds(100, 200, 440, 200);
// フレームを表示(これをしないと透明のフレームが立ち上がってしまう)
frame.setVisible(true);
}
/**
* コンストラクタ
*/
public JTable06() {
// パネルを作成
JPanel panelBase = new JPanel();
// 配列を作成
String[][] arrayData = {
{ "1", "Taro", "22" },
{ "2", "Hanako", "18" },
{ "3", "Jiro", "21" }
};
String[] arrayColumn = { "id", "name", "age" };
// 表を作成
JTable table = new JTable(arrayData, arrayColumn);
// 列幅調整を設定
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
// 列幅、最小列幅、最大列幅を設定
DefaultTableColumnModel tcm = (DefaultTableColumnModel)table.getColumnModel();
for (int i = 0 ; i < tcm.getColumnCount() ; i++){
TableColumn column = tcm.getColumn(i);
column.setPreferredWidth(100);
column.setMinWidth(10);
column.setMaxWidth(200);
}
// スクロールパネルを作成し、表を追加
JScrollPane sp = new JScrollPane(table);
sp.setPreferredSize(new Dimension(400, 100));
// スクロールパネルを追加
panelBase.add(sp);
// パネルを追加
getContentPane().add(panelBase);
}
}
サンプルソースのダウンロード
ソースのダウンロード(Eclipse用のプロジェクトファイルも同梱)
更新履歴
2016/05/13 新規作成
TOP →
Java →
Swing →
JTable → This Page