我有一个文本字段设置为时间,它拒绝无效格式的字符串。正确的格式是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(“:”)来修复它,尽管它没有完全解决问题。
答案 0 :(得分:0)
JOptionPane仅在输入不是null
时显示,而不是在格式不正确时显示。尝试在JTextField中输入任何文本,然后查看它是否显示。无论如何,我没有看到任何检查格式是否不正确的事情,只有在没有输入任何内容的情况下。
另一种选择是使用格式化的JSpinner时间,然后没有其他输入,那么时间是可能的。 (我知道这不是你问题的答案,但我真的建议这样做)