2013-05-06 35 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