我是JavaFX的新手,對綁定功能很着迷。但是,我無法弄清楚如何綁定到節點的邊距/填充。JavaFX:綁定到插入
目前,我正在嘗試製作一個左側有圖像的文本框(或TextField)。我做了一個StackPane來包裝TextField,以及一個ImageView到那個StackPane。然後我嘗試將ImageView的height屬性綁定到TextField的height屬性,但圖像看起來不像TextField內部,因爲它與TextField的邊框重疊。
我最終修改了綁定來解釋TextField的填充。
imageView.fitHeightProperty().bind(textField.heightProperty().subtract(textField.getPadding().getTop() + textField.getPadding().getBottom()));
這是工作,但該補白不綁定的部分是讓我感到不安,因爲這個值被計爲一個常數,相當於有任何填充當我設置的結合。如果綁定之後再次更改填充,事情將會變得不合時宜。
這是我想要實現的textfield的example。
有沒有更好的方法來做到這一點?要麼是更好的綁定方法,要麼是完全不同的方法來製作類似於示例的UI。目前的方法並不優雅,因爲我還設置了固定數量的左填充,以便TextField內容不與圖像重疊。
謝謝,我已經學到了另一個關於綁定的很好的教訓:) – Jai