1

我正在使用输入对话框进行用户输入。输入可以是字符串值,或者只需按“确定”即可使用默认值。这样,就无法区分用户指定默认值(无字符串输入,“确定”按钮按下)和用户取消(“取消”按钮按下)。两者都返回一个空字符串。

看起来我可以在 InputDialog 上注册一个 PropertyChangeListener,但这需要(显然)直接构建 InputDialog,然后添加到 JDialog 等(JOptionPane 现在在后台对我来说都做得很好。

问题:是否有其他方法可以区分具有空值的“OK”和“Cancel”,而无需自己构建 InputDialog 并添加 PropertyChangeListener?

4

1 回答 1

3

您可以使用""参数initialSelectionValue来区分 OK 和 Cancel:

String s = JOptionPane.showInputDialog(parent, "Enter a value", "");

如果用户点击了取消,s 为空,如果用户点击了确定但没有输入值,则为""

于 2015-11-23T17:16:01.843 回答