Java 扩展jframe的大小?

Java 扩展jframe的大小?,java,swing,size,jframe,maximize-window,Java,Swing,Size,Jframe,Maximize Window,如何获得扩展JFrame的宽度和高度?(已完成) 您将丢失装饰标题栏的大小。或者获得根窗格,甚至更好。在frame.setVisible(true)之后: 除了我的评论之外: 设置后调用getWidth和getHeight有什么问题 JFrame到JFrame.MAXIMIZED_两者 确实要在JFrame可见且大小状态已更改后调用它吗?i、 e: frame.setExtendedState( getExtendedState() | JFrame.MAXIMIZED_BOTH); frame

如何获得扩展JFrame的宽度和高度?(已完成)


您将丢失装饰标题栏的大小。或者获得根窗格,甚至更好。

frame.setVisible(true)
之后:

除了我的评论之外:

设置后调用getWidth和getHeight有什么问题 JFrame到JFrame.MAXIMIZED_两者

确实要在
JFrame
可见且大小状态已更改后调用它吗?i、 e:

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\u BOTH
state

uhm在将JFrame设置为
JFrame后调用
getWidth
getHeight
有什么问题。MAXIMIZED\u BOTH
只给我之前设置的宽度和高度,它不起作用,它仍然给了我上一组维度。。。如果您有两台或更多显示器,该怎么办?:)-上次对我不起作用:我的相框只有1英寸monitor@matheszabi好问题也许通过所有连接的监视器并积累它们的宽度/高度可以解决这个难题。正如matheszabi所说,我们的解决方案确实有效,但它有一些缺陷,并且它不依赖于jframe aso。福阿德给出了正确的答案answer@AndrewG.H. *Eng.Fouad给出了正确的答案是的,他这样做了,但我也说在设置扩展后,在
JFrame
上调用
getWidth()
/
getHeight()。最好下次再发一次,因为我和其他人可能会看到,在
JFrame
可见之前,您没有调用它
double width = frame.getSize().getWidth();
double height = frame.getSize().getHeight();
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 );