如何获得扩展 JFrame 的宽度和高度?(通过)
setExtendedState( getExtendedState() | JFrame.MAXIMIZED_BOTH);
如何获得扩展 JFrame 的宽度和高度?(通过)
setExtendedState( getExtendedState() | JFrame.MAXIMIZED_BOTH);
添加到我的评论:
嗯,在将 JFrame 设置为 JFrame.MAXIMIZED_BOTH 后调用 getWidth 和 getHeight 有什么问题
您确定在JFrame
可见并且尺寸状态已更改后调用它吗?IE:
frame.setExtendedState( getExtendedState() | JFrame.MAXIMIZED_BOTH);
frame.pack();
frame.setVisible(true);
System.out.println(frame.getWidth()+" "+frame.getHeight());
另一种解决方案是简单地通过
GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
Rectangle bounds = env.getMaximumWindowBounds();
System.out.println("Screen Bounds: " + bounds );
因为那将是JFrame
状态JFrame.MAXIMIZED_BOTH
的大小
之后frame.setVisible(true)
:
double width = frame.getSize().getWidth();
double height = frame.getSize().getHeight();
frame.getContentPane().getSize();
您将失去装饰标题栏的大小。或者获取rootPane,甚至更好。