如何在JOptionPane的“确定”按钮上添加一个监听器?

6

如何在JOptionPane.INFORMATION_MESSAGE的“确定”按钮上添加一个监听器。

我的JOptionPane是:

JOptionPane.showMessageDialog(null, "Your password is: " + password, "Your Password", JOptionPane.INFORMATION_MESSAGE);

2
为什么需要监听器?返回值不足够吗? - ps-aux
抱歉,我不知道它返回一个整数值,现在我可以使用返回的值了... - earthmover
2个回答

10

showMessageDialog方法在用户关闭或点击确定后返回空值。但您可以使用带有单个DEFAULT_OPTION的方法JOptionPane.showOptionDialog来代替。如果点击了“确定”按钮,则showOptionDialog将返回0,如果用户关闭对话框,则返回-1。

int res = JOptionPane.showOptionDialog(null, "Hello", "Test", JOptionPane.DEFAULT_OPTION,
        JOptionPane.INFORMATION_MESSAGE, null, null, null);

System.out.println(res);

你不需要监听器,因为javadoc中已经说明:

每个showXxxDialog方法都会阻塞调用者,直到用户完成交互。


3

当点击JOptionPane上的按钮时,它会返回按钮的索引值。通过检查该值,您可以知道是否已单击Ok按钮。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接