当字符串格式错误时,JOptionPane不显示?
我有一个文本字段设置为一个时间,它拒绝字符串是无效的格式。正确的格式是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()固定它包含( “:”),尽管它已经不能完全解决问题。
只有当输入不是null
时,JOptionPane才会显示,而不是格式不正确时。尝试在JTextField中输入任何文本,然后查看它是否显示。无论如何,我没有看到任何检查格式是否不正确的东西,只有在没有输入任何内容的情况下。
另一种选择是使用格式化的JSpinner时间,然后没有其他输入时间是可能的。 (我知道这不是你的问题的答案,但我真的会推荐这个)
如果我输入'12312312'之类的东西,那么它不打印,所以它必须为空对不对? – user1899174 2013-05-06 18:52:48
您的意思是,它不会将输入打印到控制台,或者JOptionPane没有显示? – Creator13 2013-05-06 18:54:48
它不会打印输入到控制台 – user1899174 2013-05-06 18:55:55
你可以编写一个代码来检查格式 – Hydroid 2013-05-06 18:47:09