저는 매우 기본적인 것을 수행하기 위해 한 시간 동안 고심하고 있습니다.TextField의 텍스트를 일부 객체 (JavaFX)에 바인딩
public class Template extends AbstractLateXElement {
protected final Map<String, String> parameters = new HashMap<>();
// many unrelevant code
}
내가 다음 매개 변수로 Template
을 복용하여 구성된 자바 FX의 형태 TemplateForm
라는 클래스가 : 사실, 나는 Map<String,String>
을 보유하고 Template
라는 클래스가 있습니다. 맵의 각 키에 대해 하나의 필드를 작성하고 연관된 값을 설정합니다. 텍스트 필드에서 행해진 모든 변경 사항을지도의 관련 쌍을 적절하게 변경하고 싶습니다. 내가 textProperty().bind()
을 사용할 수 있다는 것을 알고 있지만, Template
클래스를 완전히 JavaFX 독립적으로 유지하고 싶습니다.
맵을 랩핑하고 바인딩 메소드를 제공하는 랩퍼 클래스에 대해 생각해 볼 수 있지만, 여기서는 선호하는 간단한 변경 리스너를 정의합니다. 그러나, 문서에 다이빙 후 나는 일을 아무것도 찾을 수 없습니다 : 나는 onInputMethodTextChanged
속성을 정의하는 시도
- 을하지만 내 청취자는 내가
onKeyTyped
방법에TextField.getText
를 사용하여 값을 설정하려고 - 를 해고하지 않지만 의해 반환 않았다
getText
은 항상 필드에 표시된 값과 동기화되지 않습니다. TextInputControl.Content
클래스는 나를 위해 완벽하지만 보호되는 클래스를 찾았습니다.)
Template
을 수정하지 않고 원하는 것을 수행하는 가장 좋은 방법은 무엇입니까?