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

时间:2009-12-19 14:19:12

标签: java swing netbeans

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

3 个答案:

答案 0 :(得分:6)

即使您使用minimumSizepreferredSize设置了尺寸,您也可能忘记调用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 /”子文件夹的生成。

  1. 转到我的应用程序的“帮助>>关于”
  2. 单击出现的关于对话框中的“关闭”按钮
  3. 退出应用
  4. 现在重新出现“〜/ .CrapApp /”子文件夹。这个帮助/关于对话框是由netbeans ide自动生成的,所以我并没有真正修补它,但这似乎是我案件中的罪魁祸首。

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