elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Ayuda cargar ComboBox JavaFX FXML
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda cargar ComboBox JavaFX FXML  (Leído 5,583 veces)
MC.cover

Desconectado Desconectado

Mensajes: 45


Ver Perfil
Ayuda cargar ComboBox JavaFX FXML
« en: 15 Diciembre 2016, 06:34 am »

Hola buena tengo un problema y es que quiero cargar un combobox con datos devueltos por una base de datos y hasta acá todo bien. La cosa es que al ejecutar el método el cual llenaría el combobox lanza error de compilacion porque el tiempo en el cual se lanzo el método no es el correcto.

Codigo:
Código
  1. public class FXMLDocumentRegisterController implements Initializable {
  2.  
  3.    @FXML
  4.    private JFXComboBox<String> CmbCountry;
  5.  
  6.    @FXML
  7.    private JFXButton BtnBack;
  8.  
  9.    @FXML
  10.    void BtnBack_Clicked(ActionEvent event) throws IOException{
  11.            Parent parent = FXMLLoader.load(getClass().getResource("FXMLDocumentLogIn.fxml"));
  12.            Scene loginScene = new Scene(parent);
  13.            Stage stage = (Stage)((Node) event.getSource()).getScene().getWindow();
  14.                  stage.hide();
  15.                  stage.setScene(loginScene);
  16.                  stage.show();
  17.    }
  18.  
  19.    @Override
  20.    public void initialize(URL url, ResourceBundle rb) {
  21.        this.CmbCountry = new JFXComboBox<String>();//aca inicializo el combobox
  22.        loadCmb();//aca ejecuto el metodo de carga del combobox
  23.    }
  24.  
  25.    private void loadCmb(){//este metodo carga el combobox con los datos devueltos de la base de datos
  26.        RepoPais repo = FabricaReposSQL.CrearRepoPais();
  27.        Iterable<Pais> p = repo.FindAll();
  28. for (Pais pais : p) {
  29.            CmbCountry.getItems().add(pais.Nombre);
  30. }
  31.    }
  32.  
  33. }
  34.  

Yo no veo el error, si me pueden ayudar se los agradecería mucho, soy nuevo en javaFX con FXML y es un poco mariante al inicio.
Desde ya muchas gracias. :)


« Última modificación: 15 Diciembre 2016, 06:38 am por MC.cover » En línea

kingcreek

Desconectado Desconectado

Mensajes: 16


Ver Perfil
Re: Ayuda cargar ComboBox JavaFX FXML
« Respuesta #1 en: 15 Diciembre 2016, 10:18 am »

Tal vez diste mucho de la solucion, pues como he dicho en un post anterior no he trabajado con FXML, pero si el error te lo da al llenar el combobox lo que se me ocurre es aqui:
Código
  1. CmbCountry.getItems().add(pais.Nombre);

getItems().add() creo que lleva 2 argumentos, 1 es la posicion y 2 el valor. Prueba reemplazandolo de esta manera:
Código
  1. CmbCountry.getItems().addAll(pais.Nombre);
  2.  
  3. //o este en su defecto
  4.  
  5. CmbCountry.add(pais.Nombre);
  6.  

Si estoy equivocado no dudes en decirlo para revisarlo, un saludo


En línea

MC.cover

Desconectado Desconectado

Mensajes: 45


Ver Perfil
Re: Ayuda cargar ComboBox JavaFX FXML
« Respuesta #2 en: 15 Diciembre 2016, 17:12 pm »

Tal vez diste mucho de la solucion, pues como he dicho en un post anterior no he trabajado con FXML, pero si el error te lo da al llenar el combobox lo que se me ocurre es aqui:
Código
  1. CmbCountry.getItems().add(pais.Nombre);

getItems().add() creo que lleva 2 argumentos, 1 es la posicion y 2 el valor. Prueba reemplazandolo de esta manera:
Código
  1. CmbCountry.getItems().addAll(pais.Nombre);
  2.  
  3. //o este en su defecto
  4.  
  5. CmbCountry.add(pais.Nombre);
  6.  

Si estoy equivocado no dudes en decirlo para revisarlo, un saludo

Hola el error persiste yo creo que es que cuando se lanza el método loadCmb aun la visual no se termino de cargar.
Este es el error:
Código
  1. java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
En línea

kingcreek

Desconectado Desconectado

Mensajes: 16


Ver Perfil
Re: Ayuda cargar ComboBox JavaFX FXML
« Respuesta #3 en: 16 Diciembre 2016, 01:03 am »

Para ver la excepcion mejor, mete el codigo de loadCmb() dentro de un try / catch para poder ver mejor donde falla.
Código
  1. private void loadCmb(){//este metodo carga el combobox con los datos devueltos de la base de datos
  2.        try {
  3.                 RepoPais repo = FabricaReposSQL.CrearRepoPais();
  4.                 Iterable<Pais> p = repo.FindAll();
  5.                 for (Pais pais : p) {
  6.                       CmbCountry.getItems().add(pais.Nombre);
  7.                 }
  8.             } catch (InvocationTargetException e) {
  9.                 e.getCause().printStackTrace();
  10.             }
  11.  
  12.    }
  13.  
  14.  

Tambien prueba a eliminar la linea donde agregas los datos al combobox, y ves si el error lo tienes ahi.
En línea

MC.cover

Desconectado Desconectado

Mensajes: 45


Ver Perfil
Re: Ayuda cargar ComboBox JavaFX FXML
« Respuesta #4 en: 16 Diciembre 2016, 03:14 am »

Para ver la excepcion mejor, mete el codigo de loadCmb() dentro de un try / catch para poder ver mejor donde falla.
Código
  1. private void loadCmb(){//este metodo carga el combobox con los datos devueltos de la base de datos
  2.        try {
  3.                 RepoPais repo = FabricaReposSQL.CrearRepoPais();
  4.                 Iterable<Pais> p = repo.FindAll();
  5.                 for (Pais pais : p) {
  6.                       CmbCountry.getItems().add(pais.Nombre);
  7.                 }
  8.             } catch (InvocationTargetException e) {
  9.                 e.getCause().printStackTrace();
  10.             }
  11.  
  12.    }
  13.  
  14.  

Tambien prueba a eliminar la linea donde agregas los datos al combobox, y ves si el error lo tienes ahi.

Hola ya he colocado anteriormente el código de loadCmb en un try/catch y el error que lanza es exactamente el mismo que puse en el post anterior.
Como otra parte realice lo que me dijiste de comentar la linea en la cual se va iterando para poder cargar el ComboBox y el error proviene de esa linea.
En línea

kingcreek

Desconectado Desconectado

Mensajes: 16


Ver Perfil
Re: Ayuda cargar ComboBox JavaFX FXML
« Respuesta #5 en: 16 Diciembre 2016, 22:10 pm »

Si puedes poner el log completo se podria itentificar mejor el problema, InvocationTargetException puede ser lanzado por muchas causas como pasar un parametro null, si imprimes por pantalla los paises en vez de cargarlos en el comboBox podrias ver si estan pasando correctamente o si el error es que no obtiene el nombre de la DB. El log completo deberia dar la pista de lo que esta ocurriendo.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Cargar datos en un Combobox
.NET (C#, VB.NET, ASP)
proteus8 3 5,256 Último mensaje 26 Mayo 2011, 21:15 pm
por [D4N93R]
Variable FXML Null en JavaFX
Java
carlosuc99 1 2,472 Último mensaje 19 Abril 2014, 19:26 pm
por carlosuc99
Ayuda con cargar objeto desde un combobox
Java
jou123. 0 1,765 Último mensaje 24 Noviembre 2016, 00:52 am
por jou123.
Ayuda JavaFX FXML
Java
MC.cover 2 2,454 Último mensaje 15 Diciembre 2016, 06:29 am
por MC.cover
JavaFX cargar datos de formulario a TableView en otra vista-controlador
Java
Josh_75 1 2,495 Último mensaje 9 Diciembre 2018, 21:57 pm
por TickTack
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines