如果打开另一个JFrame,如何禁用JFrame(没有JDialog?)

时间:2016-05-14 14:06:04

标签: java swing user-interface jframe

干杯,小伙子。

我目前站在一个小问题面前,但它确实让我感到疯狂,我无法修复它。

我的第一个错误是使用我的main-JFrame作为主类。 你会明白为什么这是(我能够判断)以后的问题......

现在我从main-class-main-JFrame打开一个新的JFrame,只要打开新的JFrame,我就想禁用它。

我已经阅读了很多关于使用JDialog执行此操作的内容,但我还没有设法找到解决方案而无需重新设计整个子JFrame。

只要打开subJFrame,是否有一种简单的方法可以禁用mainJFrame? 类似的东西:

JFrame subframe = new GUI_subJFrame(<params>);
this.disable();
subframe.onClose(this.enable());

我知道这很糟糕而且不存在源代码,但我想让我的想法清晰,准确。

2 个答案:

答案 0 :(得分:3)

我刚刚将“subJFrame”从JFrame更改为JDialog,并将以下行添加到构造函数中:

this.setModalityType(DEFAULT_MODALITY_TYPE);

它工作得很好,并没有乍看之下那么复杂。

感谢大家的帮助。

答案 1 :(得分:-1)

使用frame.dispose();关闭相框