我在MacOS上使用Java。实际屏幕分辨率为2560x1600。但尺寸为1200x900或更大的JFrame不适合屏幕。
JFrame frame = new JFrame();
frame.setBounds(0,0,1200,900);
frame.setLayout(null);
frame.setVisible(true);
此外:
JFrame frame = new JFrame();
frame.setBounds(0,0,3000,3000);
frame.setLayout(null);
frame.setVisible(true);
System.out.println(frame.getWidth() + "x" + frame.getHeight());
输出1280x773。为什么会发生这种情况以及如何处理它?</ p> 编辑:有x2比例。可能是因为视网膜和操作系统配置。寻找改变这种规模的方法。
答案 0 :(得分:0)
JFrame frame = new JFrame();
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
frame.setLocationRelativeTo(null);
frame.setLayout(null);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//============ or set Location to (0, 0) for this approach
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
int width = (int) screenSize.getWidth();
int height = (int) screenSize.getHeight();
frame.setSize(width, height);
答案 1 :(得分:-1)
尝试将frame.pack()添加到您的代码中,这是您应该键入的方式
JFrame frame = new JFrame();
frame.setBounds(0,0,3000,3000);
frame.setLayout(null);
frame.setVisible(true);
frame.pack();
System.out.println(frame.getWidth()+&#34; x&#34; + frame.getHeight());