Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Zedmix en 2 Junio 2012, 20:25 pm



Título: Cargar datos mysql en Jlist
Publicado por: Zedmix en 2 Junio 2012, 20:25 pm
Muy buenas, estoy haciendo un programa que hace lo siguiente, tengo una clase llamada Persona.java, donde tengo una serie de métodos (Persona, conectar, cerrarSentencia, cerrarConexion, Personac (esta tiene una sentencia SQL SELECT*FROM personas WHERE nombre LIKE...), set, guardar) tengo una clase JFrame donde tengo un elemento Jlist y quiero hacer que cuando se inicie el programa se cargue en la lista los nombres que están almacenados en la base de datos.

Clase Persona:
Código
  1. import java.sql.SQLException;
  2.  
  3. /*
  4.  *
  5.  * To change this template, choose Tools | Templates
  6.  * and open the template in the editor.
  7.  */
  8. /**
  9.  *
  10.  * @author ramondevesa
  11.  */
  12. public class Persona {
  13.  
  14.    private java.sql.Connection conexion;
  15.    private java.sql.Statement sentenciaSQL;
  16.    private java.sql.ResultSet cdr;
  17.  
  18.    String Nombre, Telefono, Sexo, Foto;
  19.  
  20.    public void Persona() throws
  21.            ClassNotFoundException, java.sql.SQLException,
  22.  
  23.        String controlador = "com.mysql.jdbc.Driver";
  24.        Class.forName(controlador).newInstance();
  25.        conectar();
  26.        crearSentencia();
  27.    }
  28.  
  29.    private void conectar() throws java.sql.SQLException{
  30.        String URL_bd = "jdbc:mysql://localhost:8889/examen3ar";
  31.        String usuario = "root";
  32.        String contraseña ="root";
  33.  
  34.        conexion = java.sql.DriverManager.getConnection(
  35.                URL_bd, usuario, contraseña);
  36.        System.out.println("\nConexion realizada con éxito.");
  37.    }
  38.  
  39.    private void crearSentencia() throws java.sql.SQLException{
  40.        sentenciaSQL = conexion.createStatement();
  41.        System.out.println("\nSentencia creada con éxito.");
  42.    }
  43.  
  44.    public void cerrarConexion() throws java.sql.SQLException{
  45.        if(cdr != null) cdr.close();
  46.        if(sentenciaSQL != null) sentenciaSQL.close();
  47.        if(conexion != null) conexion.close();
  48.        System.out.println("\nConexión cerrada con éxito.");
  49.    }
  50.  
  51.    public java.sql.ResultSet Personac(String nombre) throws java.sql.SQLException{
  52.       String sql= "SELECT * FROM personas WHERE nombre LIKE ('%" + nombre + "%')";
  53.       cdr = sentenciaSQL.executeQuery(sql);
  54.  
  55.       Persona persona01 = new Persona();
  56.       return cdr;
  57.    }
  58.  
  59.    public void set(String nombre_, String telefono_, String sexo_, String foto_)
  60.    {
  61.        Nombre=nombre_;
  62.        Telefono = telefono_;
  63.        Sexo = sexo_;
  64.        Foto = foto_;
  65.    }
  66.    /*public void guardar(String nombre_, String telefono_, String sexo_, String foto_) throws java.sql.SQLException{
  67.         String sql = "INSNERT INTO personas ('"+nombre_+"', '"+telefono_+"', '"+sexo_+"', "+foto_+"')";
  68.         cdr = sentenciaSQL.executeQuery(sql);
  69.     }*/
  70.    public void guardar(String nombre_, String telefono_, String sexo_, String foto_) throws java.sql.SQLException{
  71.        String sql="INSERT INTO personas VALUES('"+nombre_+"', '"+telefono_+"', '"+sexo_+"', '"+foto_+"')";
  72.        cdr = sentenciaSQL.executeQuery(sql);
  73.    }
  74. }
  75.  


Clase JFrame:
Código
  1. import javax.swing.*;
  2. /*
  3.  * IGPersona.java
  4.  *
  5.  * Created on 01-jun-2012, 23:31:09
  6.  */
  7. /**
  8.  *
  9.  * @author ramondevesa
  10.  */
  11. public class IGPersona extends javax.swing.JFrame {
  12.  
  13.    private static Persona BD;
  14.    private static java.util.Scanner leer = new java.util.Scanner(System.in);
  15.  
  16.  
  17.    /** Creates new form IGPersona */
  18.    public IGPersona() {
  19.        initComponents();
  20.        jList1.setModel(new javax.swing.DefaultListModel());
  21.  
  22.    }
  23.  
  24.  
  25.    /** This method is called from within the constructor to
  26.      * initialize the form.
  27.      * WARNING: Do NOT modify this code. The content of this method is
  28.      * always regenerated by the Form Editor.
  29.      */
  30.    @SuppressWarnings("unchecked")
  31.    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
  32.    private void initComponents() {
  33.  
  34.        buttonGroup1 = new javax.swing.ButtonGroup();
  35.        label_nombre = new javax.swing.JLabel();
  36.        txtNombre = new javax.swing.JTextField();
  37.        label_telefono = new javax.swing.JLabel();
  38.        txtTelefono = new javax.swing.JTextField();
  39.        label_sexo = new javax.swing.JLabel();
  40.        GHombre = new javax.swing.JRadioButton();
  41.        GMujer = new javax.swing.JRadioButton();
  42.        btnExaminar = new javax.swing.JButton();
  43.        pImagen = new javax.swing.JPanel();
  44.        btnVaciar = new javax.swing.JButton();
  45.        btnGuardar = new javax.swing.JButton();
  46.        jScrollPane1 = new javax.swing.JScrollPane();
  47.        jList1 = new javax.swing.JList();
  48.  
  49.        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  50.  
  51.        label_nombre.setText("Nombre:");
  52.  
  53.        txtNombre.addActionListener(new java.awt.event.ActionListener() {
  54.            public void actionPerformed(java.awt.event.ActionEvent evt) {
  55.                txtNombreActionPerformed(evt);
  56.            }
  57.        });
  58.  
  59.        label_telefono.setText("Teléfono:");
  60.  
  61.        label_sexo.setText("Sexo:");
  62.  
  63.        buttonGroup1.add(GHombre);
  64.        GHombre.setText("Hombre");
  65.  
  66.        buttonGroup1.add(GMujer);
  67.        GMujer.setText("Mujer");
  68.  
  69.        btnExaminar.setText("Examinar");
  70.  
  71.        pImagen.setBorder(javax.swing.BorderFactory.createTitledBorder("Foto"));
  72.  
  73.        org.jdesktop.layout.GroupLayout pImagenLayout = new org.jdesktop.layout.GroupLayout(pImagen);
  74.        pImagen.setLayout(pImagenLayout);
  75.        pImagenLayout.setHorizontalGroup(
  76.            pImagenLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
  77.            .add(0, 106, Short.MAX_VALUE)
  78.        );
  79.        pImagenLayout.setVerticalGroup(
  80.            pImagenLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
  81.            .add(0, 119, Short.MAX_VALUE)
  82.        );
  83.  
  84.        btnVaciar.setText("Vaciar");
  85.  
  86.        btnGuardar.setText("Guardar");
  87.  
  88.        jScrollPane1.setViewportView(jList1);
  89.  
  90.        org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());
  91.        getContentPane().setLayout(layout);
  92.        layout.setHorizontalGroup(
  93.            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
  94.            .add(layout.createSequentialGroup()
  95.                .addContainerGap()
  96.                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
  97.                    .add(label_nombre)
  98.                    .add(label_telefono)
  99.                    .add(label_sexo))
  100.                .add(18, 18, 18)
  101.                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
  102.                    .add(org.jdesktop.layout.GroupLayout.TRAILING, txtTelefono, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 247, Short.MAX_VALUE)
  103.                    .add(org.jdesktop.layout.GroupLayout.TRAILING, txtNombre, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 247, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
  104.                    .add(layout.createSequentialGroup()
  105.                        .add(GHombre)
  106.                        .add(18, 18, 18)
  107.                        .add(GMujer)
  108.                        .add(98, 98, 98))
  109.                    .add(layout.createSequentialGroup()
  110.                        .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING, false)
  111.                            .add(org.jdesktop.layout.GroupLayout.LEADING, layout.createSequentialGroup()
  112.                                .add(btnVaciar)
  113.                                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  114.                                .add(btnGuardar))
  115.                            .add(org.jdesktop.layout.GroupLayout.LEADING, layout.createSequentialGroup()
  116.                                .add(btnExaminar)
  117.                                .add(18, 18, 18)
  118.                                .add(pImagen, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
  119.                        .add(27, 27, 27)))
  120.                .add(18, 18, 18)
  121.                .add(jScrollPane1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 271, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
  122.                .addContainerGap())
  123.        );
  124.  
  125.        layout.linkSize(new java.awt.Component[] {txtNombre, txtTelefono}, org.jdesktop.layout.GroupLayout.HORIZONTAL);
  126.  
  127.        layout.setVerticalGroup(
  128.            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
  129.            .add(layout.createSequentialGroup()
  130.                .addContainerGap()
  131.                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
  132.                    .add(layout.createSequentialGroup()
  133.                        .add(jScrollPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 390, Short.MAX_VALUE)
  134.                        .addContainerGap())
  135.                    .add(layout.createSequentialGroup()
  136.                        .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
  137.                            .add(label_nombre)
  138.                            .add(txtNombre, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
  139.                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
  140.                        .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
  141.                            .add(label_telefono)
  142.                            .add(txtTelefono, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
  143.                        .add(18, 18, 18)
  144.                        .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
  145.                            .add(label_sexo)
  146.                            .add(GHombre)
  147.                            .add(GMujer))
  148.                        .add(30, 30, 30)
  149.                        .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
  150.                            .add(btnExaminar)
  151.                            .add(pImagen, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
  152.                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  153.                        .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
  154.                            .add(btnVaciar)
  155.                            .add(btnGuardar))
  156.                        .add(92, 92, 92))))
  157.        );
  158.  
  159.        pack();
  160.    }// </editor-fold>                        
  161.  
  162.    private void txtNombreActionPerformed(java.awt.event.ActionEvent evt) {                                          
  163.        // TODO add your handling code here:
  164.    }                                        
  165.  
  166.    /**
  167.      * @param args the command line arguments
  168.      */
  169.    public static void main(String args[]) {
  170.        /* Set the Nimbus look and feel */
  171.        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
  172.        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
  173.          * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
  174.          */
  175.        try {
  176.            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
  177.                if ("Nimbus".equals(info.getName())) {
  178.                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
  179.                    break;
  180.                }
  181.            }
  182.        } catch (ClassNotFoundException ex) {
  183.            java.util.logging.Logger.getLogger(IGPersona.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  184.        } catch (InstantiationException ex) {
  185.            java.util.logging.Logger.getLogger(IGPersona.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  186.        } catch (IllegalAccessException ex) {
  187.            java.util.logging.Logger.getLogger(IGPersona.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  188.        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
  189.            java.util.logging.Logger.getLogger(IGPersona.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  190.        }
  191.        //</editor-fold>
  192.  
  193.        /* Create and display the form */
  194.        java.awt.EventQueue.invokeLater(new Runnable() {
  195.  
  196.            public void run() {
  197.                new IGPersona().setVisible(true);
  198.            }
  199.        });
  200.    }
  201.    // Variables declaration - do not modify                    
  202.    private javax.swing.JRadioButton GHombre;
  203.    private javax.swing.JRadioButton GMujer;
  204.    private javax.swing.JButton btnExaminar;
  205.    private javax.swing.JButton btnGuardar;
  206.    private javax.swing.JButton btnVaciar;
  207.    private javax.swing.ButtonGroup buttonGroup1;
  208.    private javax.swing.JList jList1;
  209.    private javax.swing.JScrollPane jScrollPane1;
  210.    private javax.swing.JLabel label_nombre;
  211.    private javax.swing.JLabel label_sexo;
  212.    private javax.swing.JLabel label_telefono;
  213.    private javax.swing.JPanel pImagen;
  214.    private javax.swing.JTextField txtNombre;
  215.    private javax.swing.JTextField txtTelefono;
  216.    // End of variables declaration                  
  217. }


Título: Re: Cargar datos mysql en Jlist
Publicado por: Proteus1989 en 2 Junio 2012, 23:49 pm
Código
  1.    public IGPersona() {
  2.        initComponents();
  3.        Model x = new javax.swing.DefaultListModel();
  4.        String[] y = new Persona.metodoRecuperarPersonas();
  5.        String[] columnNames1 = { "Nombre", "OtraCosa"};
  6.        Object[][] info = new Object[y.length][columnNames1];
  7.        for(int i=0;i<y.lenght;i++)
  8.        {
  9.             info[i][0] = y[i];
  10.             info[i][0] = "otraCosa";
  11.        }
  12.        jList1.setModel(x);
  13.  
  14.    }

Algo así dices?