簡體   English   中英

檢查 JTextFields 是否為空

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM