Java中的JFrame

Mat*_*_SX 5 java swing jframe

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

我可以使用一个布尔值来解决它,一旦按下确定按钮就是真的,但这似乎不是一个很好的解决方法.我觉得还有其他一些方法可以做到这一点,因为我可以看到来自我的JOptionPanes的广受欢迎的效果,但却无法实现.

干杯.

Mic*_*ers 10

你需要JDialogmodal = true.来自Javadocs:

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

  • 不容易.但是这里没有理由使用JFrame; JDialog几乎可以执行JFrame所能做的任何事情,它不会被操作系统视为完整的窗口.JDialog意味着这种事情(只是收集一些输入的一个小窗口). (2认同)

jjn*_*guy 6

只需将其更改JFrame为a JDialog.

然后在构造函数中使用以下行:

setModal(true);
Run Code Online (Sandbox Code Playgroud)

然后您的应用将阻止,直到对话框关闭.

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