JFrameのサイズ

Javaの話になります。

JFrameのウィンドウサイズを指定したい場合、2通りの考え方ができると思います。

  • ウィンドウの内側のサイズを指定する
  • ウィンドウの外側のサイズを指定する

入門書などではよくJFrame.setSize()メソッドが使われていますが、これはウィンドウの外側のサイズを指定するメソッドです。

一方、実際の開発では、内側のJPanelなどのコンポーネントサイズに依存する、ウィンドウの内側のサイズを指定したいことが多いと思います。このような場合は、JFrame.setPreferredSize()メソッドで内側のサイズを指定して、JFrame.pack()するとよいみたいです。

 

外側のサイズを指定する

f:id:tuttitan:20161021121458p:plain

import javax.swing.JFrame;
import java.awt.Dimension;

public class SetSizeExample extends JFrame
{
    public static void main(String[] args) {
        new SetSizeExample();
    }

    // コンストラクタ
    SetSizeExample() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        // フレームサイズの指定
        setSize(320, 240);

        setVisible(true);
    }
}

 

内側のサイズを指定する

f:id:tuttitan:20161021121552p:plain

import javax.swing.JFrame;
import java.awt.Dimension;

public class SetSizeExample extends JFrame
{
    public static void main(String[] args) {
        new SetSizeExample();
    }

    // コンストラクタ
    SetSizeExample() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        // フレームサイズの指定
        getContentPane().setPreferredSize(new Dimension(320, 240));
        pack();

        setVisible(true);
    }
}

 

 

参考Webページ