2
我一直在努力工作一小時來執行非常基本的事情。事實上,我有一個名爲Template
類,持有Map<String,String>
:將TextField的文本綁定到某個對象(JavaFX)
public class Template extends AbstractLateXElement {
protected final Map<String, String> parameters = new HashMap<>();
// many unrelevant code
}
然後我有一個名爲TemplateForm
類,它是通過採取Template
作爲參數構建一個JavaFX形式。它爲地圖的每個鍵創建一個字段並設置關聯的值。我希望在文本框中進行的任何更改都可以相應地更改地圖中的相關對。我知道我可以使用textProperty().bind()
,但我想繼續使用完全獨立於JavaFX的類Template
。
我可以考慮一些封裝類,它會封裝我的地圖並提供綁定方法,但我希望在這裏定義一個簡單的更改偵聽器。然而,潛入文件後,我發現沒有什麼工作:
- 我試圖定義
onInputMethodTextChanged
財產,但我的聽衆從來沒有解僱 - 我試着設置在
onKeyTyped
方法使用TextField.getText
價值,但在返回getText
並不總是與該字段中顯示的值同步 - 我發現
TextInputControl.Content
類對我來說是完美的,但受保護等)。
什麼是最好的方式做我想要的,而不需要修改Template
?