ですから、私はGUIにかなり慣れていないので、好みのサイズを(経由でsetPreferredSize(new Dimension(width, height))
)設定する10
と、幅と高さの両方が増えるという問題に遭遇しました。私は疑問に思っていました、なぜこれが起こるのですか?はい、「お好みのサイズ」であることは承知しておりますが、これを防ぐ方法は確かにあります。メソッドに渡す前に幅と高さから減算するだけで修正できますが10
、何が起こっているのか疑問に思いました。
私の(関連する)コード:
主な方法:
public static void main(String[] args)
{
final App app = new App(500, 500);
JFrame frame = new JFrame("Block Stacker 3000");
frame.getContentPane().add(app);
frame.pack();
frame.setResizable(false);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
System.out.println(app.getSize());
app.start();
}
アプリコンストラクター(JPanelを拡張):
public App(int width, int height)
{
this.width = width;
this.height = height;
System.out.println(width + " " + height);
setPreferredSize(new Dimension(width , height));
setBackground(Color.CYAN);
}
実行すると、次のように出力されます。
500 500
java.awt.Dimension[width=510,height=510]
また、使ってみましsetMinimumSize()
たsetMaximumSize()
が、どちらも実際には何の影響もありませんでした。