JFrameの内側のコンポーネントからサイズを決める場合
JFrameのsetSizeは、閉じるボタン等含めたフレーム自体の大きさを設定する。
import javax.swing.JFrame; import javax.swing.SwingUtilities; public class Hoge { public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { JFrame f = new JFrame(); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setSize(256, 256); f.setVisible(true); } }); } }
内側の領域からサイズを決めたい場合は、内部のコンポーネントのsetPreferredSizeとJFrameのpackを呼び出す。
import java.awt.Dimension; import javax.swing.JFrame; import javax.swing.SwingUtilities; public class Hoge { public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { JFrame f = new JFrame(); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.getContentPane().setPreferredSize(new Dimension(256, 256)); f.pack(); f.setVisible(true); } }); } }