2013-05-06 38 views
0

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

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

做timeString.getText()固定它包含( “:”),尽管它已经不能完全解决问题。

+0

你可以编写一个代码来检查格式 – Hydroid 2013-05-06 18:47:09

回答

0

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

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

+0

如果我输入'12312312'之类的东西,那么它不打印,所以它必须为空对不对? – user1899174 2013-05-06 18:52:48

+0

您的意思是,它不会将输入打印到控制台,或者JOptionPane没有显示? – Creator13 2013-05-06 18:54:48

+0

它不会打印输入到控制台 – user1899174 2013-05-06 18:55:55