如何获取扩展JFrame的宽度和高度? (通过完成)扩展jframe的大小?
setExtendedState(getExtendedState() | JFrame.MAXIMIZED_BOTH);
如何获取扩展JFrame的宽度和高度? (通过完成)扩展jframe的大小?
setExtendedState(getExtendedState() | JFrame.MAXIMIZED_BOTH);
后frame.setVisible(true)
嗯什么错 JFrame的设置JFrame.MAXIMIZED_BOTH
后调用的getWidth和getHeight
你确定您在JFrame
可见并且尺寸状态已更改后调用它?即:
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.getContentPane().getSize();
你就失去了装饰标题栏大小。或者获得rootPane,甚至更好。添加到我的评论
double width = frame.getSize().getWidth();
double height = frame.getSize().getHeight();
它不起作用,它仍然给我以前的设置尺寸。 –
:
+1,差不多......如果你有2个或更多的显示器,该怎么办? :) - 以前的时间没有为我工作:我的框架只在1台显示器 – 2012-12-27 12:36:32
@matheszabi好问题可能会通过所有连接的显示器,并积累他们的宽度/高度将诀窍 –
您的解决方案确实工作,但有一些捕获正如matheszabi所说,它不依赖于jframe aso。工程。 Fouad @ AndrewG.H给出了正确的答案 –
嗯什么是错与调用'的getWidth'和'的getHeight '将JFrame设置为'JFrame.MAXIMIZED_BOTH'后 –
它给了我只有以前的设置宽度和高度 –