2016-07-19 8 views
-1

からChoiceBoxを入力することはできません。 My Objectには名前フィールドがあり、これを選択テキストとして使用することはできません。 もちろん、正しいデータを渡すためにユーザーが選択したオブジェクトを知る必要があります。ListからオブジェクトをChoiceBoxに取り込む方法

FXMLコントローラー:

public void initialize(URL fxmlFileLocation, ResourceBundle resources) { 
    UniversitiesService uniService = new UniversitiesServiceImpl(); 
    List<University> uniList = uniService.getUniversitiesList(); 
    //uniChoiceBox.setItems(); Need some guidance here 
} 

大学エンティティ:

private String universityName; 
private String universityURL; 
private String[] universityDataNames; 

//getters setters 
+0

どのようなフレームワークを使用しているのですか、いくつかのコードを投稿して、あなたが何をしようとしているかについてより多くの情報を提供してください。 –

+0

何を試しましたか? [ドキュメント、特に 'converter'についての記事](http://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/ChoiceBox.html#converterProperty)を読んだことがありますか? –

答えて

1

ディスプレイを設定する必要がある場合だけdoesnのUniversity」でtoString()方法ならば、すなわち(

uniChoiceBox.getItems().setAll(uniList); 

を行います必要なテキストを入力します)、コンバータを追加します:

uniChoiceBox.setConverter(new StringConverter<University>() { 
    @Override 
    public String toString(University uni) { 
     return uni.getUniversityName(); 
    } 
    @Override 
    // not used... 
    public University fromString(String s) { 
     return null ; 
    } 
}); 
+0

私は完全にtoString()メソッドを忘れてしまった。感謝ジェームス(もう一度)! – pror21

関連する問題