当打开一个新的JFrame时禁用之前的JFrame

5
我正在尝试在新窗口弹出时禁用“main”JFrame,使其不能点击或拖动。我尝试将新窗口设置为JDialog,但这并没有禁用其他窗口。我还查看了关于此问题的其他帖子,建议将其设置为JDialog,但仍然无法解决问题。请帮帮我,谢谢。这是我用来创建JDialog的代码,请问是否有问题?
editDialog=new JDialog(IntroScreen.frame);

IntroScreen.frame代表“主”框架。


1
哎呀,这以前从来没有被问过... - Hovercraft Full Of Eels
这是讽刺还是不是..? 无法确定 - Captain Gh0st
2个回答

11

是的,正确答案是——依赖窗口应该是JDialog,而不是JFrame。或者通过CardLayout交换视图。 - Hovercraft Full Of Eels
我会研究这个并尝试将其实现到我的项目中 :) - Captain Gh0st
@CaptainGh0st:你接受了错误的答案。这个是正确的答案。 - Hovercraft Full Of Eels

4
如果您想使用多个JFrame,您可以在打开其他JFrame时使用setEnabled()方法。
frame.setEnabled(false);

否则,您应该选择 JDialog 和它的方法 setModal()

谢谢您,我不知道当我浏览这些方法时为什么没有找到这个方法。-__- 谢谢。 - Captain Gh0st
2
你选择了错误问题的“正确”答案。HFOE和mKorbel指出了前进的(简单)方法。多个框架会给你带来更多的压力。 - Andrew Thompson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接