簡體   English   中英

如何在Javafx中相互比較2個字段文本

[英]How to compare 2 Field Text with each other in Javafx

我在BankAccount類中有2個字段文本,其中1個用於存款,1個用於提取。

在此處輸入圖片說明

這兩個字段文本僅采用雙精度值:

TextField depositInput = new TextField();
TextField withdrawInput = new TextField();

和一個按鈕來執行這些字段文本(可以是兩個)。

Button button = new Button("Execute");

問題是我不知道如何告訴Java已執行哪個TextField。 由於我想在用戶想要存入或提取時顯示不同的消息:

例如:

if(FieldText executed is deposit){
    println("User deposits X amount");
    double depositAmount = X;

}

if(FieldText executed is withdraw){
    println("User withdraws X amount");
    double withdrawAmount = -X;
}

我努力了:

if(FieldText == depositInput){
}

但是Java向我顯示了一個錯誤。

如果我的問題正確,最簡單的解決方案是僅在按下按鈕時檢查文本字段的值是否為空:

TextField depositInput = new TextField();
TextField withdrawInput = new TextField();
Button button = new Button("Execute");
button.setOnAction((event) -> {
    if (!depositInput.getText().isEmpty() && !withdrawInput.getText().isEmpty()) {
        System.out.println("Deposit&Withdrawal");
    } else if (!depositInput.getText().isEmpty()) {
        System.out.println("Deposit");
    } else if (!withdrawInput.getText().isEmpty()) {
        System.out.println("Withdrawal");
    }
});

如果您正在使用JavaFX和場景構建器

@FXML
    private PasswordField PASSWORD;

    @FXML
    private PasswordField REPASSWORD; 

void validateFields(ActionEvent event) {

if (PASSWORD.getText() == null ? REPASSWORD.getText() != null : !PASSWORD.getText().equals(REPASSWORD.getText()) ){

       Alert alert = new Alert(Alert.AlertType.WARNING);
            alert.setTitle("Warning");
            alert.setHeaderText("PASSWORD ERROR");
            alert.setContentText("CHECK YOUR PASSWORDS . "
                    + "\nPlease try again.");
            alert.showAndWait(); 
       }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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