setExtendedState(getExtendedState()|JFrame.MAXIMIZED_BOTH);
setResizable(false);
setUndecorated(true);
System.out.println("--------> "+getContentPane().getWidth()); //----> 0 why is this happening?
我正在尝试确定JFrame的大小。我在Google上搜索并查看了文档,但仍然不知道为什么它不起作用。这个方法对于我尝试的任何其他控件都有效。编辑: 当在扩展JFrame的类之外调用frame.getWidth()时有效。 但是,如果我替换
System.out.println("--------> "+getContentPane().getWidth());
使用
System.out.println("--------> "+this.getWidth());
getWidth仍会返回0
EDIT2: 我需要在设置可见和其他操作之前知道框架的大小。我需要向框架添加其他控件,它们的坐标和大小取决于框架的大小。
setSize()
或setBounds()
的定义,那么任何真实的Dimension
只返回可见的Container
。否则,如果JComponents
将其PreferedSize
返回给Container
,那么您可以在任何地方获取此Dimension
。 - mKorbel