2016-09-07 4 views
0

저는 JavaFX 8을 처음 사용하고 있으며 얼마 전에 JSF/Primefaces 프로그래머였습니다. 현재 FXML 및 MVC 패턴이있는 JavaFX 응용 프로그램에서 작업하고 있습니다. JPA 2.1 엔티티의 변환기를 FXML GUI 용으로 만들고 문제를 사용하는 방법에 문제가 있습니다. JSF/Primefaces에서는 간단하고 간단하며 변환기 용 특수 태그와 쉽게 통합 할 수 있습니다. FXML을 사용하는 JavaFX와 유사한 솔루션이 있는지 궁금합니다. 도와주세요.사용자 정의 객체 변환기 JavaFx FXML

+0

"변환기"는 무엇을 의미합니까? 너는 무엇을 그들로 바꾸고 있니? –

+0

@James_D 변환기는 모델 데이터 객체와 렌더링에 적합한 객체의 String 표현 간의 객체 대 문자열 및 문자열 대 객체 변환을 수행 할 수있는 Java 클래스를 설명하는 인터페이스입니다. – cdaiga

+0

실제로 무엇을하고 있느냐에 따라이 역할은 셀에 의해 수행됩니다. 예 : 'TableView'에 당신의 엔티티를 표시한다면, 각 열은 셀 구현을 반환하는 셀 팩터 리를 정의합니다. 셀은 엔티티의 속성이 렌더링되는 방식을 정의합니다 (단순한 텍스트 렌더링이거나 더 복잡한 것일 수 있음). 미리 정의 된 셀 구현 중 일부는 ['StringConverter'] (http://docs.oracle.com/javase/8/javafx/api/javafx/util/StringConverter.html)의 인스턴스를 취합니다.이 인스턴스는 간단한 객체 문자열과 문자열 개체 변환. –

답변

1

설명하는 것과 가장 유사한 것은 아마도 StringConverter 클래스입니다. 가상화 된 컨트롤 (예 : ListView, TableView 등)의 경우 모두 built-in cell implementationsStringConverter의 적절한 인스턴스로 구성 할 수 있습니다. 또한 예를 들어 TextField (또는 다른 텍스트 입력 컨트롤)에는 TextFormatter이 설정 될 수 있으며 차례로 specifying a StringConverter instance이 인스턴스화 될 수 있습니다.

public class MyEntityStringConverter extends StringConverter<MyEntity> { 

    @Override 
    public String toString(MyEntity myEntity) { 
     return ... ; 
    } 

    @Override 
    public MyEntity fromString(String textSpecification) { 
     return ... ; 
    } 
} 

그런 다음 API의 많은 지역에서 사용할 수 있습니다 :

그래서 당신은 엔티티 클래스 MyEntity이있는 경우, 당신은 문자열 변환을 만들 수 있습니다.

+0

대단히 감사합니다 @ James_D. 이것이 내가 원했던 것이다. – cdaiga

관련 문제