sábado, 16 de noviembre de 2013

Hacer una Agenda en NETBEANS

PASO 1: Se ara una clase, que sera la principal se llamara MySql.
En ella se ara la conexión con una base de datos.


CODIGO:

MySql.java


    private static Connection conn;

    public static Connection geConnection(){
        try {
            String host = "jdbc:derby://localhost:1527/MiAgenda";
            String uName = "TonoHdz";
            String uPass = "averatec";
            conn = DriverManager.getConnection(host,uName,uPass);
           
          } catch (Exception e) {
            JOptionPane.showMessageDialog(null,"Error  "+e.getMessage());
           
        }
        return conn;

    }

Paso 2: Se ara un JFrame, para diseñar y agregar codigo.

En mi caso quedo asi: 


Enfrente de name, phone, mobile, id, enfrente de cada uno de ellos esta un txtfield solo que el relleno lo puse color gris como el del panel y el borde se lo quite. Para que solo se vieran las letras y no los bordes ni nada de eso.

Este es el codigo del Jframe que en mi caso lo llame contactos.

CODIGO:

contactos.java


public class contactos extends javax.swing.JFrame {
   
    DefaultTableModel model;
    Connection conn;
    Statement sent;
   

    /**
     * Creates new form contactos
     */
    public contactos() {
        initComponents();
        conn = MySql.geConnection();
        Desabilitar();
        Llenar();
    }

    void Desabilitar(){
        txtId.setEditable(false);
        txtNombre.setEditable(false);
        txtEmpresa.setEditable(false);
        txtTelCel.setEditable(false);
        txtCorreo.setEditable(false);
    }
   
    void Limpiar(){
        txtId.setText("");
        txtNombre.setText("");
        txtEmpresa.setText("");
        txtTelCel.setText("");
        txtCorreo.setText("");
    }
   
    void Habilitar(){
        txtId.setEditable(true);
        txtNombre.setEditable(true);
        txtEmpresa.setEditable(true);
        txtTelCel.setEditable(true);
        txtCorreo.setEditable(true);
        txtId.requestFocus();
    }
   
    void Llenar(){
        try {
            conn = MySql.geConnection();
            String[] titulos={"Id","Nombre","Empresa","TelCel","Correo"};
            String sql="select * from APP.CONTACTOS";
            model = new DefaultTableModel (null, titulos);
            sent = conn.createStatement();
            ResultSet rs = sent.executeQuery(sql);
           
            String[] fila=new String[5];
           
            while (rs.next()) {
                fila[0] = rs.getString("Id");
                fila[1] = rs.getString("Nombre");
                fila[2] = rs.getString("Empresa");
                fila[3] = rs.getString("TelCel");
                fila[4] = rs.getString("Correo");
               
                model.addRow(fila);
            }
            jTable1.setModel(model);
        } catch (Exception e){
            e.printStackTrace();
        }
   }



Lo anterior va antes del código que genera el asistente de NetBeans

Programación para los botones:
*****************************************************************
private void btnNuevoActionPerformed(java.awt.event.ActionEvent evt) {                                        
        Limpiar();
        Habilitar();
       
    }                                       

*****************************************************************

    private void btnGuardarActionPerformed(java.awt.event.ActionEvent evt) {                                          
       
        try {
            String sql = "insert into app.contactos (id,Nombre,Empresa,TelCel,Correo)"
                    +"values(?,?,?,?,?)";
            PreparedStatement ps = conn.prepareCall(sql);
           
            ps.setString(1, txtId.getText());
            ps.setString(2, txtNombre.getText());
            ps.setString(3, txtEmpresa.getText());
            ps.setString(4, txtTelCel.getText());
            ps.setString(5, txtCorreo.getText());
            int n=ps.executeUpdate();
            if (n>0){
                JOptionPane.showMessageDialog(null,"Datos Guardados correctamente");
            }
        } catch (Exception e){
            JOptionPane.showMessageDialog(null,"Error"+e.getMessage());
        }
        Llenar();
        Limpiar();
    }                                         
   
*****************************************************************

    private void btnModificarActionPerformed(java.awt.event.ActionEvent evt) {                                            
        try{
            String sql="Update app.contactos set Nombre =?, Empresa=?, Telcel=?, Correo=?"+"where Id=?";
            int fila=jTable1.getSelectedRow();
            String dao=(String) jTable1.getValueAt(fila, 0);
            PreparedStatement ps=conn.prepareStatement(sql);
            //ps.setString(1, txtId.getText());
            ps.setString(1, txtNombre.getText());
            ps.setString(2, txtEmpresa.getText());
            ps.setString(3, txtTelCel.getText());
            ps.setString(4, txtCorreo.getText());
            ps.setString(5, dao);
           
            int n=ps.executeUpdate();
            if (n>0){
                Limpiar();
                Llenar();
                JOptionPane.showMessageDialog(null,"Datos Modificados");
            }
        } catch (Exception e) {
                JOptionPane.showMessageDialog(null,"Error"+e.getMessage());
          }
   
       
    }                                           
*****************************************************************

    private void btnEliminarActionPerformed(java.awt.event.ActionEvent evt) {                                            
        try{
            int fila=jTable1.getSelectedRow();
            String sql="delete from app.contactos where id="+jTable1.getValueAt(fila,0);
            sent=conn.createStatement();
            int n=sent.executeUpdate(sql);
            if (n>0) {
                Llenar();
            JOptionPane.showMessageDialog(null,"Datos eliminados");
            Limpiar();
            }
        } catch (Exception e){
            JOptionPane.showMessageDialog(null,"Error "+e.getMessage());
        }
    }                                          

*****************************************************************

    private void btnCerrarActionPerformed(java.awt.event.ActionEvent evt) {                                         
        System.exit(0);
    }                                        

    private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {                                    
        if (evt.getButton()==1){
            int fila=jTable1.getSelectedRow();
            try {
                Habilitar();
                String sql="select * from app.contactos where id=" + jTable1.getValueAt(fila,0);
                sent=conn.createStatement();
                ResultSet rs=sent.executeQuery(sql);
                rs.next();
                txtId.setText(rs.getString("Id"));
                txtNombre.setText(rs.getString("Nombre"));
                txtEmpresa.setText(rs.getString("Empresa"));
                txtTelCel.setText(rs.getString("Telcel"));
                txtCorreo.setText(rs.getString("Correo"));
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }
    }                                   


*****************************************************************

    private void btnBuscarActionPerformed(java.awt.event.ActionEvent evt) {                                         
        Limpiar();
        try {

            conn = MySql.geConnection();
            String[] titulos={"Id","Nombre","Empresa","TelCel","Correo"};
            String sql="select * from app.contactos where Nombre like '"+"%"+jtBuscar.getText()+"%'";
            model = new DefaultTableModel (null, titulos);
            sent = conn.createStatement();
            ResultSet rs=sent.executeQuery(sql);
           
            String[] fila=new String[5];
           
            while (rs.next()) {
                fila[0] = rs.getString("Id");
                fila[1] = rs.getString("Nombre");
                fila[2] = rs.getString("Empresa");
                fila[3] = rs.getString("TelCel");
                fila[4] = rs.getString("Correo");
               
                model.addRow(fila);
            }
            jTable1.setModel(model);
            jtBuscar.setText("");
        } catch (Exception e){
            e.printStackTrace();
        }
    } 

LISTO, NUESTRA APLICACIÓN AGENDA ESTA LISTA PARA USARSE.



3 comentarios: