2016-12-16 7 views
-1

Здравствуйте хорошо У меня есть проблема, и я хочу, чтобы загрузить ComboBox с возвращаемые данные из базы данных и пока все хорошо. Дело в том, что при запуске метод, который заполнить выпадающий запускает ошибку компиляции.JavaFX ComboBox FXML

Это ошибка: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException

общественный класс реализует FXMLDocumentRegisterController Initializable {

@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);  } 
    } } 

Ошибка возникает в строке, в которой Пункт добавляется в ComboBox: CmbCountry.getItems() добавить (pais.Nombre).

надежда может помочь мне спасибо :)

+5

[так] является Inglés только сайт. Пожалуйста, пост в Inglés. [Смотрите здесь] (http://meta.stackoverflow.com/a/262054/1402846) и [здесь] (http://blog.stackoverflow.com/2009/07/non-english-question-policy/) для подробности. Благодарю вас! – Pang

ответ

0

Я не понимаю ни одного слова вашего вопроса, пожалуйста, перевести свой вопрос Инглес (как прокомментировал Pang).

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(); 
}