メモの日々


2013年09月10日(火) [長年日記]

[java] javax.swing.JTableの列幅を変更する

JTableで列幅を変更する方法がなかなかわからなかったのでメモ。

と列幅を変えられる。

以下サンプル。

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.SwingUtilities;
import javax.swing.WindowConstants;

public class TableBuilder {
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                showTable();
            }
        });
    }

    public static void showTable() {
        JFrame frame = new JFrame();
        frame.add(new JScrollPane(createTable()));
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        frame.setSize(400, 300);
        frame.setVisible(true);
    }

    public static JTable createTable() {
        JTable table = new JTable(2, 3);
        table.getColumn("A").setPreferredWidth(50);
        table.getColumn("B").setPreferredWidth(150);
        table.getColumn("C").setPreferredWidth(200);
        return table;
    }
}

テーブルが表示された様子