Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Mr.Blue en 18 Enero 2012, 23:20 pm



Título: Cargar un combox cuando inicio la aplicacion
Publicado por: Mr.Blue en 18 Enero 2012, 23:20 pm
Hola gente
Vengo con una pregunta, me esta costando cargar un combox cuando inicio la aplicacion.

En mi codigo hago una llamada en el constructor donde esta el initComponents();
y llamo a mi metodo

Código
  1.    public Haberes() {
  2.        initComponents();
  3.  
  4.        this.empleadosBoxActionPerformed(null);
  5.    }
  6.  

Esto inicializa mi from con el Combox ya cargado pero el tema es que no me deja seleccionar en el combox algun empleado, como que simpre queda ahi.

Hay alguna forma de que saber si es la primera vez que se inicia la aplicacion que lo carge?

para dejarlo un toque mas calro si no me explico bien en .Net se usa por ejemplo el page_load.


Si se les ocurre algun otro camino mas simple o mejor acepto las soluciones.

Saludos y Gracias.-


Título: Re: Cargar un combox cuando inicio la aplicacion
Publicado por: adastra en 19 Enero 2012, 12:08 pm
Tu pregunta no es nada clara, si creas un ComboBox en el constructor de un objeto (supongo que será en el JFrame) se instanciarán todos sus elementos y posteriormente, los podras adicionar al formulario, si dices que cuando intentas seleccionar un elemento "como que siempre queda ahí", es como si te dijera, "el coche arranca y corre, pero como que siempre queda ahí".
Enseña código (código útil, no lo que has puesto aquí) y a lo mejor te podremos ayudar.


Título: Re: Cargar un combox cuando inicio la aplicacion
Publicado por: Mr.Blue en 19 Enero 2012, 19:05 pm
gracias por la respuesta.
Ahi pude solucionar el problema.
El problema estaba en que llamaba a la accion (ActionPerformed) que genera ese combobox, esto generaba que se carge el combo todo el tiempo por eso no podia seleccionar otra persona del combobox, la solucion era llamar a un metodo cargarBox que cargara a ese combo.


Código
  1.    public Haberes() {
  2.        initComponents();
  3.       this.cargarBoxEmpleados();
  4.  
  5.  
  6.    }
Código
  1.    public void cargarBoxEmpleados(){
  2.       DefaultComboBoxModel Empleados=new DefaultComboBoxModel();
  3.       try{
  4.        table = new JTable();
  5.        table= HaberesControlador.cargarComboEmpleados();
  6.                    if(table.getColumnCount()>0){
  7.                         for(int x=0;x<table.getRowCount();x++){
  8.                              for(int y=0;y<table.getColumnCount();y++){
  9.                                  Empleados.addElement(table.getValueAt(x, y));
  10.                                  }
  11.                              }
  12.                         }
  13.        }catch (Exception ex){
  14.            this.lvlError.setText("Error al cargar empleados "+ex.getMessage());
  15.        }
  16.        this.empleadosBox.setModel(Empleados);
  17.    }