0

我花了最后一个小时在 Google 上搜索以尝试实现某些目标 - 防止在其他一个关闭后关闭我的主界面。我不确定这是否是表达我的问题的正确方式,所以如果有任何混淆,我深表歉意。

我有一个名为 MainUI 的界面,它是启动我的 Java 程序的主界面。此界面上有两个按钮,可打开另外两个界面(SinglePlayerStatsUI 和 MultiplePlayerStatsUI)。如果我单击任一按钮,它会打开相应的界面(应该如此),但是当我关闭打开的界面时,它也会关闭主界面(MainUI)——这不是我想要的。我想知道阻止主界面关闭(这也是程序的主类)的好解决方案是什么?

为了在这个问题中节省一些空间,我在https://github.com/rattfieldnz/Java_Projects/tree/master/PCricketStats的 GitHub 上有我的 Java 项目(在 NetBeans 中创建)。MainUI 的类文件称为“MainUI.java”,SinglePlayerStatsUI 的类称为“SinglePlayerStatsUI.java”,MultiplePlayerStatsUI 的类称为“MultiplePlayerStatsUI.java”。这些类位于https://github.com/rattfieldnz/Java_Projects/tree/master/PCricketStats/src/pcricketstats

我也有每个界面的屏幕截图 - 这些可以在http://imgur.com/a/gGUID#0看到。

如果我的问题需要更多澄清,请告诉我。

4

2 回答 2

4

更改第 100 行SinglePlayerStatsUI.java和第 88 行MultiplePlayerStatsUI.java

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);

或更改和的第 5SinglePlayerStatsUI.formMultiplePlayerStatsUI.form

<Property name="defaultCloseOperation" type="int" value="3"/>

<Property name="defaultCloseOperation" type="int" value="2"/>
于 2013-05-19T09:25:51.300 回答
2

这不是一个真正的答案,但由于我找到了一个更好的解决方案来解决我想要的问题,我想我会关闭这个问题......

我查看了 JTabbedPanes,它看起来比打开多个 JFrame 更友好。AndrewThompson 提供了一些非常有用的建议,并让我参考了链接“ The Use of Multiple JFrames, Good/Bad Practice? ”——这给了我切换到 JTabbedPanes 的理由。

感谢收到的反馈,我希望其他人也能从中吸取教训:)。

于 2013-05-19T13:14:31.373 回答