Java JFrame根据屏幕分辨率resize
我使用myEclipse Matisse创建了java GUI。 当我的屏幕分辨率是1024×768时,它工作正常,但当我更改分辨率时,我的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,帧大小保持不变。
你正在调用pack()
来改变框架大小,以便它适合里面的组件。 这就是我认为它缩小的原因。 删除pack()
行,它应该工作。
您可以尝试使用它来最大化框架:
this.setExtendedState(JFrame.MAXIMIZED_BOTH);
调用pack()
对于正常运行的GUI至关重要。 添加完所有组件后调用它,让它validation容器并将其设置为自然大小。
然后调用setSize()
和setBounds()
类的相关方法。
另一种方法是:
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); pack(); setSize(screenSize.width,screenSize.height);
试试这个…选择JFrame的所有组件,右键单击,选择“自动resize”,检查水平和垂直,关闭。
调用pack()通常会导致调整窗口大小以适应内容的首选大小。 尝试删除对pack()的调用,看看会发生什么。
首先,setbounds for frame然后删除pack()方法。