我将窗口的大小设置为640 x 1136,并且我在13英寸的MBP上运行该程序,其分辨率为2560 x1600。我假设窗口应该能够完全显示在我的屏幕上,但只显示上半部分。
这是我的代码。
public static final int WIDTH = 640; // width of window
public static final int HEIGHT = 1136; // height of window
public static void main(String[] args) {
JFrame frame = new JFrame();
World world = new World();
frame.add(world);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(WIDTH, HEIGHT);
frame.setLocationRelativeTo(null);
frame.setVisible(true); // 1) set window visible 2) paint() asap
world.action(); // start the program
}
我尝试使用这些参数,发现高度在800左右时,窗口将超过屏幕。最大窗口高度如何仅是屏幕分辨率的1/2?
有没有一种方法可以根据屏幕大小自动增加或减小窗口大小,同时又保持所有内容不变?
谢谢!
答案 0 :(得分:0)
您必须在运行时获取屏幕大小并相应地调整帧大小。这将使您的程序在不同的屏幕上看起来相同。
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
frame.setSize(dim.width / 2, dim.height / 2);