【发布时间】:2015-11-23 16:58:00
【问题描述】:
我正在使用输入对话框进行用户输入。输入可以是字符串值,或者只需按“确定”即可使用默认值。这样,就无法区分用户指定默认值(无字符串输入,“确定”按钮按下)和用户取消(“取消”按钮按下)。两者都返回一个空字符串。
看起来我可以在 InputDialog 上注册一个 PropertyChangeListener,但这需要(显然)直接构造 InputDialog,然后添加到 JDialog 等(JOptionPane 现在在后台对我来说都很好。
问题:是否有其他方法可以区分具有空值的“OK”和“Cancel”,而无需自己构建 InputDialog 并添加 PropertyChangeListener?
【问题讨论】:
-
Both return a null String.- 在 Windows 上,当我按下 OK 时我得到一个空字符串,当我按下“Cancel”时我得到一个空字符串。我是否设置初始值都没有关系。发布您的 SSCCE 来证明问题。 -
@camickr 在构建最小 SSCCE 时删除所有依赖项(我错误地认为对于这样一个简单的问题没有必要),我发现我正在使用的一个包掩盖了 null 和空 Sting 之间的区别。因此,区分很容易(只要我不使用有问题的包)。您的测试用例确实使我遇到了实际问题,谢谢。 +1
-
when constructing the minimal SSCCE removing all dependencies (which I mistakenly thought was unnecessary for such a simple question)- 在问题解决之前,我们不知道什么是相关的或不相关的,这就是为什么我总是建议创建一个 SSCCE :)
标签: java swing joptionpane propertychangelistener