NetBeans(Java Swing):设置窗口大小

这真让我抓狂。 当我在设计模式下为我的窗口设置合适的大小时,它只是忽略这个大小,并在编译和运行时使用其他东西。 即使很难我设置minimumSize和preferredSize它只是忽略了这个……为什么? 我该如何设置自己的尺寸?

即使您使用minimumSizepreferredSize设置了大小,也可能忘记调用Window.pack() ,其中Swing将根据设置的大小调整组件(及其所有子组件)的大小。

在设置了所有首选大小后,您可以在窗口(或构建窗口的任何内容)中调用它。

或者,您可以使用Component.setSize()方法,但它带有一些警告 。

您是否检查过是否确实设置了JFrame或包含的JPanel的大小?

你试过setSize吗?

我在使用netbeans ide时发现自己处于类似情况。 我读过以下post,这有助于:

http://forums.netbeans.org/ptopic28011.html

似乎swing应用程序框架将应用程序的窗口大小保存在home目录中的子文件夹中(对于Windows,“Application Data”文件夹,对于Linux,在“〜/”主文件夹中)。

例如,对于我的应用程序’CrapApp’,swing已将一些最后窗口大小的信息保存到子文件夹“〜/ .CrapApp /”中,并保存到名为“mainFrame.session.xml”的文件中。

因此,无论我如何在设计器中重新调整窗口大小,在运行时,它似乎都忽略了它,而是从此子文件夹中的首选项加载窗口大小。

所以我的解决方案是删除这个保留设置的子文件夹,例如,在我的例子中,“rm -rf~ / .CrapApp /”

然后问题就消失了,我可以在设计器中重新resize并运行应用程序,现在可以看到这个重新resize的窗口。

这让我想知道触发这个问题的原因。 我注意到只需在netbeans ide中运行应用程序并关闭它就不会生成子文件夹。

在对我的应用程序进行了一些修补之后,我注意到以下操作触发了这个“〜/ .CrapApp /”子文件夹的生成。

  1. 转到我的应用程序的“帮助>>关于”
  2. 单击出现的about对话框中的“关闭”按钮
  3. 退出应用程序

现在重新出现“〜/ .CrapApp /”子文件夹。 这个帮助/关于对话框是由netbeans ide自动生成的,所以我并没有真正修补它,但这似乎是我案例中的罪魁祸首。

也许它可能是netbeans ide中的一个错误,我使用的是一个有点旧的版本(v6.8),这似乎大致来自你原始post的时代。