簡體   English   中英

如何使用fxml在javafx中的文本字段上聚焦觸發事件?

[英]How to trigger an event on focus out for a textfield in javafx using fxml?

我在相關fxml的控制器類中具有此功能。 我需要從文本字段聚焦時觸發此功能,但是場景生成器沒有類似於onfocusout的事件。 如何使用控件類實現此目的?

@FXML
private void ValidateBikeNo(){
    Tooltip error = new Tooltip("This bike no exists");
    BikeNoIn.setTooltip(error);
}

您可以將focusListener附加到TextField,然后在其中執行代碼。 偵聽器可以附加在控制器的initialize()方法內。

public class MyController implements Initializable {
    ...
    @FXML
    private Textfield textField;

    public void initialize() {
        ...
        textField.focusedProperty.addListener((ov, oldV, newV) -> {
           if (!newV) { // focus lost
              // Your code
           }
        });
         .....
    }
}

您必須使用方法textField.focusedProperty()而不是textField.focusProperty

public class MyController implements Initializable { 
...         
@FXML        
private Textfield textField;
public void initialize() {
   textField.focusedProperty().addListener((ov, oldV, newV) -> {
      if (!newV) { // focus lost
              // Your code
           }
        });
    }
}

暫無
暫無

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

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