2009-05-22 79 views
5

我正在使用JFrame作为主框架的弹出窗口,其中用户应该输入一些信息,然后按确定。但问题是,一旦这个子框架打开,我希望程序忽略任何其他信号,直到按下确定按钮,这与使用JOptionPanes的方式类似。现在,您可以点击按钮多次打开子框架,从而获得多个框架,这并非意图(甚至导致大量的错误)。Java中的JFrame

我可以用一个布尔值来解决它,一旦OK按钮被按下,但这似乎不是一个很酷的方式来解决它。我觉得必须有其他的方式来做,看到我的JOptionPanes所带来的热门效果,但无法实现。

干杯。

+0

来自瑞典的Mats_SX?你没有任何机会在Paradox论坛上,对吗? – 2009-05-22 19:53:21

+0

我非常喜欢。频繁的OT和eu2部分:) – 2009-05-22 20:08:31

+0

然后你已经知道我了(我使用我的名字,而不是我的姓氏那里)。 – 2009-05-22 20:14:15

回答

10

您需要一个JDialogmodal = true。来自Javadocs:

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

6

只需将JFrame更改为JDialog即可。

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

setModal(true); 

您的应用,然后阻塞,直到对话框关闭。

如果您的用户只是输入String,您可能需要查看JOptionPane.showInputDialog()