基于计算机分辨率调整JFrame和组件的大小

时间:2013-08-21 00:13:56

标签: java swing layout resize dimension

我在netbeans中创建了一个java应用程序,我想知道如何将jframe的大小设置为计算机分辨率的宽度和高度的一半,并且组件也符合此更改。我尝试放置代码,它确实使框架成为计算机分辨率高度的一半,但我的组件(如按钮和文本字段)停止显示。我怎样才能做到这一点?感谢。

2 个答案:

答案 0 :(得分:3)

(修改)

将JFrame的布局管理器设置为GridLayout。在GridLayout本身的属性窗口中(在导航器窗口中选择),将列设置为1,将行设置为2.这应该为您提供所需的内容,而不必进入代码。

这是在initComponents()子类(由NetBeans创建)的JFrame方法中调用的关键代码,但了解它的位置非常重要:

    getContentPane().setLayout(new java.awt.GridLayout(2, 1));

我喜欢Netbeans,但你必须了解基础知识。

祝你的项目好运。 Swing是一个非常棒的工具集,远远超过它的时间。

答案 1 :(得分:2)

与往常一样,在这种情况下,关键是为容器使用正确的布局管理器组合。您可能正在使用NetBeans生成的代码(我建议您避免使用Swing编码,因为它非常非常适合使用Swing编码),并且它可能让您使用GroupLayout,一个很好的布局,但可能不会像以及您希望调整组件的大小。我建议您浏览layout manager tutorial并尝试嵌套JPanel容器并使用不同的布局来重新调整大小,例如GridLayout,GridBagLayout和BorderLayout,以尝试创建可以很好地调整大小的最佳布局。 / p>