簡體   English   中英

我如何監聽 HTMLEditor 獲得或失去焦點?

[英]How do I listen for HTMLEditor getting or losing focus?

我需要跟蹤 JavaFX 中的 HTMLEditor 元素何時獲得焦點或失去焦點。 我為 textArea 使用了一個監聽器,但在這種情況下它不起作用。

        htmlEditor.focusedProperty().addListener(((obs, oldValue, newValue) ->{
        if (newValue) { 
           // focus received
           
        }else{ 
           //focus is lost
        }
    }));

在將ChangeListener添加到未調用偵聽器的聚焦屬性時,我確實遇到了同樣的問題。 但是,還有另一種可能的解決方法。 您可以簡單地訪問Scene的焦點所有者Node並向其添加ChangeListener以檢測新舊焦點Node ,在您的情況下,它是一個HTMLEditor控件,它是一個類型為WebViewNode 代碼看起來像這樣:

scene.focusOwnerProperty().addListener((observableValue, oldNode, newNode) -> {
            if(newNode instanceof WebView)
            {
                System.out.println("HTML Editor focused");
                // do something when HTMLEditor gets focused
            }
            else if(oldNode instanceof WebView) {
                System.out.println("HTML Editor focus lost");
                // do something when HTMLEditor loses focused
            }
        });

暫無
暫無

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

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