0

我有一个文本字段设置为时间,它拒绝格式无效的字符串。正确的格式是 HH:mm。当用户输入不正确的格式时,我希望显示一条错误消息,但由于某种原因,它似乎没有显示 JOptionFrame。奇怪的是,当我从 else 语句中取出 JOptionPane 时,它​​显示得很好,所以我不确定会出现什么问题。有人有想法么?

 if (timeString.getText()!= null)
 {
   System.out.println(timeString.getText());
 }
 else
 {
   JOptionPane.showMessageDialog(null, " Incorrect format.", "Error", JOptionPane.ERROR_MESSAGE);
 }

通过执行 timeString.getText().contains(":") 修复它,尽管它并没有完全解决问题。

4

1 回答 1

0

JOptionPane 只会在输入 not 时显示null,而不是在格式不正确时显示。尝试在 JTextField 中不输入任何文本,然后查看它是否出现。无论如何,我看不到任何检查格式是否不正确的东西,只有在没有输入任何内容的情况下。

另一种选择是使用格式化的 JSpinner 作为时间,然后没有其他输入,那么时间是可能的。(我知道这不是你问题的答案,但我真的会推荐这个)

于 2013-05-06T18:52:08.673 回答