当字符串格式错误时,JOptionPane不显示?

时间:2013-05-06 18:45:07

标签: java string swing jframe joptionpane

我有一个文本字段设置为时间,它拒绝无效格式的字符串。正确的格式是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(“:”)来修复它,尽管它没有完全解决问题。

1 个答案:

答案 0 :(得分:0)

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

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