5

我使用 JFrame 作为主框架的弹出窗口,用户应该在其中输入一些信息,然后按 OK。但问题是,一旦这个子框架打开,我希望程序忽略任何其他信号,直到按下 OK 按钮,类似于使用 JOptionPanes 完成的方式。像现在这样,你可以多次点击按钮打开子帧,从而得到几个帧,这不是本意(甚至会导致很多错误)。

一旦按下 OK 按钮,我可以用一个布尔值来解决它,但这似乎不是一个很酷的修复方法。我觉得必须有其他方法可以做到这一点,因为我可以看到来自我的 JOptionPanes 的广受欢迎的效果,但无法实现。

干杯。

4

2 回答 2

10

你需要一个JDialogwith modal = true。来自 Javadocs:

modal- 指定对话框在显示时是否阻止用户输入到其他顶级窗口。

于 2009-05-22T19:52:19.060 回答
6

只需将 更改JFrameJDialog.

然后在构造函数中使用这一行:

setModal(true);

然后,您的应用程序将被阻止,直到对话框关闭。

如果您JOptionPane.showInputDialog()的用户只是输入一个String.

于 2009-05-22T19:58:03.573 回答