[英]Checking whether JTextFields are empty
我正在 uni 從事一個 Java 項目,我必須盡可能地忠於面向對象。 所以我有一個疑問。
我有許多帶有文本字段和按鈕的窗口,每次單擊按鈕時,我都需要檢查框架中的文本字段是否為空。
現在我所做的是在 ActionListener 類中添加一個新方法並將其稱為 check()。 此方法檢查我所說的內容,如果有空文本字段,它會拋出我創建的異常(假設為 EmptyFieldsException)。
然后我在 actionPerformed 中有一個 try/catch 塊,調用 check 方法。 如果捕獲到異常,則會彈出一個 JOptionPane。
我的問題是:這是處理此類問題的好方法(使用異常)嗎? 或者它實際上是矯枉過正? 也許我可以在 actionPerformed 中簡單地使用 if 語句,我對此有點困惑。
您應該堅持創建一個使用 if 語句檢查所有文本字段並返回布爾值的方法。
private boolean checkFields(){
if(textField1.getText().lenght()<1)
return false;
if(textField2.getText().lenght()<1)
return false;
//check all text fields
return true;
}
表示按鈕操作的方法將首先調用 checkFields() 方法,如果返回 true 則在它通知用戶並非所有文本字段都已填充后繼續返回。
private void buttonAction(){
if(!checkFields()){
Alert message=new Alert( Alert.AlertType.WARNING);
message.setHeaderText("Text field empty");
message.setContentText("One of the text fields is empty");
message.showAndWait();
return;
}
//continue the method
}
如果您確保該方法僅在所有 TextField 都有文本時運行,則無需擔心。 拋出和捕獲異常的成本要高得多,應該在異常情況下使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.