这让我发疯了。当我在设计模式下为我的窗口设置合适的大小时,它只是忽略这个大小,并在编译和运行时使用其他东西。即使很难我设置minimumSize和preferredSize它只是忽略了这个......为什么?我该如何设置自己的尺寸?
答案 0 :(得分:6)
即使您使用minimumSize
和preferredSize
设置了尺寸,您也可能忘记调用Window.pack()
,其中Swing将调整组件(及其所有子组件)的大小达到规模。
在设置了所有首选尺寸后,您可以在窗口(或构建窗口的任何内容)中调用它。
或者,您可以使用Component.setSize()
方法,但comes with some caveats。
答案 1 :(得分:1)
您是否检查过是否确实设置了JFrame或包含的JPanel的大小?
您是否尝试过setSize
?
答案 2 :(得分:0)
我在使用netbeans ide时发现自己处于类似情况。我读过以下帖子,这有助于:
http://forums.netbeans.org/ptopic28011.html
似乎swing应用程序框架将应用程序的窗口大小保存在home目录中的子文件夹中(对于Windows,“Application Data”文件夹,对于Linux,在“〜/”主文件夹中)。
例如,对于我的应用程序'CrapApp',swing已将一些最后窗口大小的信息保存到子文件夹“〜/ .CrapApp /”中,并保存到名为“mainFrame.session.xml”的文件中。
因此无论我如何在设计器中重新调整窗口大小,在运行时,它似乎都忽略了它,而是从该子文件夹中的首选项加载窗口大小。
所以我的解决方案是删除这个保留设置的子文件夹,例如,在我的情况下,“rm -rf~ / .CrapApp /”
然后问题就消失了,我可以在设计师中重新调整大小并运行应用程序,现在可以看到这个重新调整大小的窗口。
这让我想知道触发这个问题的原因。我注意到只需在netbeans ide中运行应用程序并关闭它就不会生成子文件夹。
在对我的应用程序进行一些修补之后,我注意到以下操作触发了这个“〜/ .CrapApp /”子文件夹的生成。
现在重新出现“〜/ .CrapApp /”子文件夹。这个帮助/关于对话框是由netbeans ide自动生成的,所以我并没有真正修补它,但这似乎是我案件中的罪魁祸首。
也许这可能是netbeans ide中的一个错误,我使用的是一个旧版本(v6.8),这似乎大致来自你原来的帖子时代。