開発覚え書き

ソフトウェアシステムの開発に関わるさまざまなことの覚え書き

JFrameのコンテントペインのサイズ設定 (2)

2006-06-01 08:57:02 | Weblog
Java で JFrame のコンテントペインのサイズ設定 (1)」で、表示状態に切り替え insets を求め、それを加えて setSize する方法を書いたが、あまりSwing的でなかった。

Swing的には

コンテントペインの preferredSize を希望サイズに設定しておき、
フレームで java.awt.Window クラスの public void pack(); を呼ぶことによりコンテントペインを推奨サイズに合せてもらう

のがよさそうだ。
フレームのコンストラクタなど初期化時に

    getContentPane().setPreferredSize(new Dimension(希望する幅, 希望する高さ));

としておき、

フレームを表示するときに、
    pack();
    setVisible(true);

のようにすればよい。これだと余分に表示状態・非表示状態を切り替える必要がない。