2016-12-16 6 views
-1

こんにちは良い私は問題を抱えていると私は、データベースと遠いので良いから返されたデータとのコンボボックスをロードします。事はあなたが実行したときにコンボボックスを埋める方法は、コンパイルエラーが起動していることです。JavaFXのコンボボックスFXML

これは誤りである:java.lang.RuntimeException:にjava.lang.reflect.InvocationTargetException

パブリッククラスは、エラーがその中線で発生FXMLDocumentRegisterController初期化可能 {

@FXML 
    private JFXComboBox<String> CmbCountry; 

    @FXML 
    private JFXButton BtnBack; 

    @FXML 
    void BtnBack_Clicked(ActionEvent event) throws IOException{ 
      Parent parent = FXMLLoader.load(getClass().getResource("FXMLDocumentLogIn.fxml")); 
      Scene loginScene = new Scene(parent); 
      Stage stage = (Stage)((Node) event.getSource()).getScene().getWindow(); 
        stage.hide(); 
        stage.setScene(loginScene); 
        stage.show(); 
    } 

    @Override 
    public void initialize(URL url, ResourceBundle rb) { 
     this.CmbCountry = new JFXComboBox<String>();//aca inicializo el combobox 
     loadCmb();//aca ejecuto el metodo de carga del combobox 
    } 

    private void loadCmb(){//este metodo carga el combobox con los datos devueltos de la base de datos 
     RepoPais repo = FabricaReposSQL.CrearRepoPais(); 
     Iterable<Pais> p = repo.FindAll(); for (Pais pais : p) { 
      CmbCountry.getItems().add(pais.Nombre);  } 
    } } 

を実装項目をコンボボックスに追加されます。CmbCountry.getItems()(pais.Nombre)を追加します。

希望が、私はどうもありがとうございました:)

+5

[そう]イングレス、唯一のサイトです。イングレスに投稿してください。 [ここを参照してください](http://meta.stackoverflow.com/a/262054/1402846)と[ここ](http://blog.stackoverflow.com/2009/07/non-english-question-policy/)について詳細。ありがとう – Pang

答えて

0

を助けることができる私はそう(パンでコメントとして)・イングレスにあなたの質問を翻訳してください、あなたの質問の一つの言葉を理解していません。 InvocationTargetException

はpropablyあなたJFXComboBoxを再初期化」という事実により発生しています。私はあなたがその部分を削除した場合、あなたの問題が解決されると思います。例えば

@Override 
public void initialize(URL url, ResourceBundle rb) { 
    // this is not needed, as it is done by javafx before this method is called. 
    // this.CmbCountry = new JFXComboBox<String>(); 
    loadCmb(); 
} 
関連する問題