9

我的 JOptionPane 代码如下:

selectedSiteName = JOptionPane.showInputDialog("Enter the name of the new site:");

这会呈现一个带有文本框和 OK 和 Cancel 按钮的输入。我需要检测是否单击了取消。

干杯。

4

4 回答 4

14

检查 selectedSiteName == null 是否。
如果用户单击取消或关闭对话框,就会出现这种情况。

于 2009-08-01T00:26:57.523 回答
0

阅读 JOptionPane API 并点击“如何使用对话框”上的 Swing 教程链接以获取工作示例。

于 2009-08-01T01:37:20.303 回答
0
if(selectedSiteName == JOptionPane.CANCEL_OPTION)
{


}

应该管用。

于 2010-06-16T17:52:55.430 回答
0

JOptionPane 扩展了 JComponent。

JOptionPane 的方法
1) .showMessageDialog(); // 无效 :-(
2) .showInputDialog(); // 返回字符串 :-)
3) .showConfirmDialog(); // 返回 int :-)
-> 等等...

例子:

void myMethod() {

        JDialog jd = new JDialog();
        jd.setDefaultCloseOperation(1);

        JOptionPane jop = new JOptionPane();
        int val = jop.showConfirmDialog(jd, "Hello");
        if(val == 0) jop.showMessageDialog(null, "Success", "INFO", jop.INFORMATION_MESSAGE);

        System.out.println(val);

        jd.add(jop);

    }

有用的链接:
-为什么 JOptionPane.getValue() 继续返回 uninitializedValue
- https://docs.oracle.com/javase/7/docs/api/javax/swing/JOptionPane.html

于 2018-07-07T10:46:40.737 回答