AYUDA Agregar Valor JcomboBox en el Jtable

Publicado en 'Programación' por j3v1t0, 23 Ago 2014.





  1. j3v1t0

    j3v1t0 Miembro nuevo

    Registro:
    23 Ago 2014
    Mensajes:
    4
    Likes:
    0




    No me captura el valor del JcomboBox para agregarlo al Jtable, tengo las siguientes clases
    Clase Empleado que contiene:
    public class Empleado {
    private String nombre;
    private String apellido;
    private String cedula;
    private String email;
    private Pais pais;

    public String getNombre() {
    return nombre;
    }
    public Pais getPais() {
    return pais;
    }
    public void setPais(Pais pais) {
    this.pais = pais;
    }
    public void setNombre(String nombre) {
    this.nombre = nombre;
    }
    public String getApellido() {
    return apellido;
    }
    public void setApellido(String apellido) {
    this.apellido = apellido;
    }
    public String getCedula() {
    return cedula;
    }
    public void setCedula(String cedula) {
    this.cedula = cedula;
    }
    public String getEmail() {
    return email;
    }
    public void setEmail(String email) {
    this.email = email;
    }
    }
    Una Clase Pais que contiene:
    public class Pais {
    private String nombre;
    private String code;

    public String getNombre() {
    return nombre;
    }
    public void setNombre(String nombre) {
    this.nombre = nombre;
    }
    public String getCode() {
    return code;
    }
    public void setCode(String code) {
    this.code = code;
    }
    public Pais(String nombre, String code) {
    this.nombre = nombre;
    this.code = code;
    }
    public Pais() {
    }
    @Override
    public String toString() {
    return nombre;
    }
    }
    Y donde tengo el EmpleadoJframe que contiene:
    import java.util.ArrayList;
    import java.util.List;
    import javax.swing.table.DefaultTableModel;

    public class EmpleadoJFrame extends javax.swing.JFrame {
    private Empleado empleado;
    private Pais selectedPais;
    private List<Empleado> empleados;
    private List<Pais> pais;

    public EmpleadoJFrame() {
    empleado = new Empleado();
    empleados = new ArrayList<Empleado>();
    pais = new ArrayList<Pais>();
    pais.add(new Pais("República Dominicana","RD"));
    pais.add(new Pais("España","ES"));
    pais.add(new Pais("Estados Unidos","EU"));
    pais.add(new Pais("Mexico","MX"));
    initComponents();
    }
    public List<Pais> getPais() {
    return pais;
    }
    public void setPais(List<Pais> pais) {
    this.pais = pais;
    }
    public List<Empleado> getEmpleados() {
    return empleados;
    }
    public void setEmpleados(List<Empleado> empleados) {
    this.empleados = empleados;
    }
    public Empleado getEmpleado() {
    return empleado;
    }
    public void setEmpleado(Empleado empleado) {
    this.empleado = empleado;
    }
    public Pais getSelectedPais() {
    return selectedPais;
    }
    public void setSelectedPais(Pais selectedPais) {
    this.selectedPais = selectedPais;
    }

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

    this.bindingGroup.unbind();
    this.empleado.setPais(selectedPais);
    this.empleados.add(getEmpleado()); /* Tambien se puede this.empleado.add(this.empleado);*/
    this.empleado = new Empleado();
    this.bindingGroup.bind();

    }

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
    this.limpiar();
    }

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {

    try {
    for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
    if ("Nimbus".equals(info.getName())) {
    javax.swing.UIManager.setLookAndFeel(info.getClassName());
    break;
    }
    }
    } catch (ClassNotFoundException ex) {
    java.util.logging.Logger.getLogger(EmpleadoJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (InstantiationException ex) {
    java.util.logging.Logger.getLogger(EmpleadoJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (IllegalAccessException ex) {
    java.util.logging.Logger.getLogger(EmpleadoJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (javax.swing.UnsupportedLookAndFeelException ex) {
    java.util.logging.Logger.getLogger(EmpleadoJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    }
    //</editor-fold>

    /* Create and display the form */
    java.awt.EventQueue.invokeLater(new Runnable() {
    public void run() {
    new EmpleadoJFrame().setVisible(true);
    }
    });
    }

    // Variables declaration - do not modify
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JButton jButton3;
    private javax.swing.JButton jButton4;
    private javax.swing.JComboBox jComboBox1;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTable jTable1;
    private javax.swing.JTextField jTextFieldApellido;
    private javax.swing.JTextField jTextFieldCedula;
    private javax.swing.JTextField jTextFieldEmail;
    private javax.swing.JTextField jTextFieldNombre;
    private org.jdesktop.beansbinding.BindingGroup bindingGroup;
    // End of variables declaration

    private void limpiar() {
    this.jTextFieldNombre.setText("");
    this.jTextFieldApellido.setText("");
    this.jTextFieldCedula.setText("");
    this.jTextFieldEmail.setText("");
    }
    }
     


  2. jreyes1985

    jreyes1985 Miembro diamante

    Registro:
    9 Ago 2013
    Mensajes:
    13,013
    Likes:
    2,146
    Te creaste tu cuenta en el foro para que te resolvamos tu tarea, que tal ......!!!!
     
    A kazoku le gustó este mensaje.
  3. j3v1t0

    j3v1t0 Miembro nuevo

    Registro:
    23 Ago 2014
    Mensajes:
    4
    Likes:
    0
    tuve que cortar el código porque no acepta mas de 1200 caracteres así que tuve que improvisar en poner algo corto, y estoy aprendiendo java, solo que no se como capturar el jcombobox para el jtable heredando de la clase Empleados, si este foro no es para ayudar a nuevos programadores me lo dices de un pronto y me puedes eliminar de la pagina web peruhardware.net o me dices para eliminar mi cuenta y problema resuelto
     
  4. j3v1t0

    j3v1t0 Miembro nuevo

    Registro:
    23 Ago 2014
    Mensajes:
    4
    Likes:
    0
    ya solucione donde estaba mi error, me faltaba poner en el combobox en la parte de binding en el campo seletedItem = Form[${selectedPais}] y en la parte del código

    private void jButton1ActionPerformed(j ava.awt.event.ActionEvent evt) {

    this.bindingGroup.unbind( );
    this.empleado.setPais(sel ectedPais);
    this.empleados.add(getEmp leado());
    this.empleado = new Empleado();
    this.bindingGroup.bind();

    }

    es de esta manera que funciona:

    this.empleado.setPais(selectedPais);
    this.empleados.add(getEmpleado());
    this.bindingGroup.unbind();
    this.empleado = new Empleado();
    this.bindingGroup.bind();
     
  5. kazoku

    kazoku Miembro maestro

    Registro:
    30 Abr 2012
    Mensajes:
    396
    Likes:
    58
    lo molestan y hace su tarea... jajaja
     
Etiquetas: