开发者

Setting the size of a ContentPane (inside of a JFrame)

开发者 https://www.devze.com 2022-12-30 03:59 出处:网络
I want to set the size of a JFrame such that the contentPane is the desired size.JFrame.setSize() doesn\'t take the window decorations into account, so the contentPane is slightly too small.The size o

I want to set the size of a JFrame such that the contentPane is the desired size. JFrame.setSize() doesn't take the window decorations into account, so the contentPane is slightly too small. The size of the window decorations are platform and theme specific, so it's bad news to try to manually a开发者_StackOverflowccount for them.

JFrame.getContentPane().setSize() fails because it's managed.

Ideas?

Thanks!


In Java 5 and later this is the easiest method:

JFrame frame = new JFrame("Content Pane Size Example");
frame.getContentPane().setPreferredSize(new Dimension(400, 300));
frame.pack();
frame.setVisible(true);

As always the above should be executed in the EDT.


If you want to do it on your own then in your Frame type:

this.setLayour(null);
this.pack();
Insets insets = this.getInsets();
this.setBounds(0,0, insets.left + width + insets.right, insets.top + height + insets.bottom);
this.setLocationRelativeTo(null);
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号