【发布时间】:2017-12-21 16:15:56
【问题描述】:
我正在使用 Java Swing 库在 Java 中编写应用程序,并且正在寻找与使用 WindowsForms 的 C# 中的这些代码行等效的功能:
MyDialog form = new MyDialog();
form.showDialog();
if (form.DialogResult == DialogResult.OK)
doSomething();
我无法在 Java 中找到与 JFrame 等效的功能。
我正在处理的代码如下:
LoginFrame loginFrame = new LoginFrame(CONTROLLER);
loginFrame.setVisible(true);
前两行代码启动了一个登录窗口,用户可以在其中输入他的电子邮件和密码。所述窗口显示2个按钮:OK和CANCEL。窗口关闭后,我想知道用户按下了 2 个按钮中的哪一个。
在 Java Swing 中使用 JFrame 执行此操作的标准方法是什么?
【问题讨论】:
-
可能是
JOptionPane.showConfirmDialog(..);。 -
我最初的结论是我为对话框选择的 JFrame 对象是错误的……你能确认一下吗?我应该改用 JDialogs 吗?谢谢!
-
“我应该改用 JDialogs 吗?” 绝对可以,为此,可以使用模态
JDialog或JOptionPane(默认为模态)。有关使用JOptionPane登录的自包含示例,请参阅 this answer。另见The Use of Multiple JFrames, Good/Bad Practice?(通常只有主应用程序。应基于JFrame。)