我使用myEclipse Matisse创建了java GUI。当我的屏幕分辨率为1024x768时,它工作正常,但当我更改分辨率时,我的GUI工作不正常。我希望我的GUI窗口应根据屏幕分辨率重新调整大小 我正在扩展JFrame来创建主窗口。
public class MyClass extends JFrame {
//I am putting some controls here.
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setBounds(0,0,screenSize.width, screenSize.height);
setVisible(true);
pack()
}
这不起作用,我做什么,设置大小硬编码或使用ToolKit,帧大小保持不变。
答案 0 :(得分:28)
您可以尝试使用它来最大化框架:
this.setExtendedState(JFrame.MAXIMIZED_BOTH);
答案 1 :(得分:15)
您正在调用pack()
,它会更改帧大小,使其适合内部组件。这就是我认为它缩小的原因。删除pack()
行,它应该可以正常工作。
答案 2 :(得分:5)
调用pack()
对于正常运行的GUI至关重要。在添加完所有组件后调用它,让它验证容器并将其设置为自然大小。
然后致电setSize()
&之后的相关方法如setBounds()
。
答案 3 :(得分:5)
另一种方法是:
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
pack();
setSize(screenSize.width,screenSize.height);
答案 4 :(得分:1)
试试这个...... 选择JFrame的所有组件,右键单击,选择“自动调整大小”,检查水平和垂直,关闭。
答案 5 :(得分:-1)
调用pack()通常会导致调整窗口大小以适合内容的首选大小。尝试删除对pack()的调用,看看会发生什么。
答案 6 :(得分:-4)
首先,set的setbounds然后删除pack()方法。