1

我有两个表格form1和form2。我想当我setVisible(false) form1,然后form2也自动setVisible(false)。那么,如何使用单个命令 setVisible 而立即关闭两个窗体。

或者也许如何使 form2 像确认对话框。所以,不要进入 Form1,如果 form2 还没有关闭

我该怎么做?

4

3 回答 3

2

也许只需检查 form1是否存在isVisible(form1),如果是,则setVisible(false). 这是你想要的吗?

我想到了另一件事。取决于你想做什么,也许使用dispose()而不是setVisible().

希望我能帮上忙。

于 2012-12-05T13:34:24.713 回答
0

为此编写一个方法并改用它:

private void setFormsVisible(boolean b) {
  form1.setVisible(b);
  form2.setVisible(b);
}

那么你的表单应该是类变量。您还可以尝试使表单最终化,并覆盖 form1 的 setVisible-method。

于 2012-12-05T13:32:40.680 回答
0

form2 应该是一个模态对话框,其父级设置为 form1。这将阻止与 form1 的交互,直到 form2 关闭。

于 2012-12-05T13:33:44.667 回答