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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Ejercicios
| | | |-+  Proyecto de Programación
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Proyecto de Programación  (Leído 2,826 veces)
Hoorse

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Proyecto de Programación
« en: 24 Noviembre 2017, 01:09 am »

Que tal, muy buenas tardes, soy un estudiante de ingeniería en sistemas y actualmente estoy cursando el 3er semestre, tengo que entregar un proyecto para una materia.

Este es un catalogo de usuarios, sin embargo no logro hacer que los botones tengan la funcion correcta y no puedo encontrar el error.

Alguien podría ayudarme?

public class CtlgUsuarios extends JFrame {

    private String Nametiquetas[] = {"Nombre: ", "Dirección: ", "Telefono: ",
        "Usuario: ", "Contraseña: ", "Tipo Usuario"};//Arreglo para las etiquetas y cajas de texto
    private JPanel panelDatos;//Panel de datos
    private JComboBox TyUser;
    private String Tuser[] = {"Administrador", "Usuario"};
    private String nombresBtn[] = {"Buscar", "Modificar", "Eliminar", "Insertar", "Mostrar Tabla"};
    private JButton botones[];
    private JTextField Datos[];
    private DefaultTableModel dtm;
    private JTable tabla;

    public CtlgUsuarios() {
        super("Catálogo Usuarios");

        JPanel panel = (JPanel) this.getContentPane();//Contenedor general
        panel.setLayout(new BorderLayout());//gestor Border para el contenedor general
        JPanel panelBtns = new JPanel();//se instancia y crea el panel de los botones
        botones = new JButton[nombresBtn.length];      //se agregan todos los botones al de lado izq del mismo contenedor
        for (int i = 0; i < nombresBtn.length; i++) {
            botones = new JButton(nombresBtn);
            botones.setBackground(Color.WHITE);
            panelBtns.add("West", botones);
        }
        botones[0].setIcon(new ImageIcon(getClass().getResource("save.png")));
        botones[1].setIcon(new ImageIcon(getClass().getResource("modify.png")));
        botones[2].setIcon(new ImageIcon(getClass().getResource("delete.png")));
        botones[3].setIcon(new ImageIcon(getClass().getResource("insert.png")));
        //se les asigna un icono para cada botón
        panel.add("North", panelBtns);
//    se agrega el contenedor de los botones al contenedor general

        panelDatos = new JPanel();//se instancia le contenedor de los datos
        panelDatos.setLayout(new BoxLayout(panelDatos, WIDTH));//se le da gestor de boxlayout para su acomodo
        Datos = new JTextField[Nametiquetas.length];
        JLabel etiquetas[] = new JLabel[Nametiquetas.length];
        TyUser = new JComboBox(Tuser);
        for (int i = 0; i < Nametiquetas.length; i++) {
            etiquetas = new JLabel(Nametiquetas);
            etiquetas.setFont(new Font("Arial", 40, 15));
            Datos = new JTextField(20);
            Datos.setFont(new Font("Arial", 40, 15));
            panelDatos.add(Box.createVerticalStrut(18));//se agregan los controles en una caja de forma vertical
            panelDatos.add(etiquetas);
            panelDatos.add(Datos);
        }

        panel.add("West", panelDatos);//se agrega el panel de los datos al panel general

        dtm = new DefaultTableModel();
        tabla = new JTable(dtm);
        tabla.setAutoCreateRowSorter(true);
        tabla.setPreferredScrollableViewportSize(new Dimension(750, 100));
        JScrollPane scroll = new JScrollPane(tabla);
        panel.add("East", scroll);

        dtm.addColumn("Nombre");
        dtm.addColumn("Dirección");
        dtm.addColumn("Telefono");
        dtm.addColumn("Usuario");
        dtm.addColumn("Contraseña");
        dtm.addColumn("Tipo de usuario");
        dtm.addColumn("Activo");
       
        MnjdrBotones objBtn = new MnjdrBotones();
        botones[3].addActionListener(objBtn);
        botones[0].addActionListener(objBtn);
        botones[2].addActionListener(objBtn);
        botones[4].addActionListener(objBtn);
       
    }

    private class MnjdrBotones extends MouseAdapter implements ActionListener {

        @Override
        public void actionPerformed(ActionEvent ae) {
            if (ae.getSource() == botones[3]) {
                BeansUsuarios usuario = new BeansUsuarios();
                usuario.setNombre(Datos[0].getText());
                usuario.setDireccion(Datos[1].getText());
                usuario.setTelefono(Datos[2].getText());
                usuario.setUsuario(Datos[3].getText());
                usuario.setContraseña(Datos[4].getText());
                usuario.setTipoUsuario( Datos[5].getText());
                usuario.setBandera(true);
                if (usuario.insertarUsuario()) {
                    JOptionPane.showMessageDialog(rootPane, "Registro Insertado Éxitosamente", "", JOptionPane.INFORMATION_MESSAGE);
                    agregarEnTabla();
                } else {
                    JOptionPane.showMessageDialog(rootPane, "Error al Insertar registro", " Error ", JOptionPane.ERROR_MESSAGE);
                   
                }
               
            }
             if (ae.getSource() == botones[0]) {
                limpiarTabla();
                try {
                    buscarUsuario();
                } catch (SQLException ex) {
                    JOptionPane.showMessageDialog(rootPane, "Error al buscar el usuario", "Error", JOptionPane.ERROR_MESSAGE);
                }
            }
             if (ae.getSource() == botones[2]) {
                BeansUsuarios usuario = new BeansUsuarios();
                usuario.setNombre(Datos[0].getText());
                if (usuario.eliminarUsuario()) {
                    JOptionPane.showMessageDialog(rootPane, "Registro Eliminado", "", JOptionPane.INFORMATION_MESSAGE);
                } else {
                    JOptionPane.showMessageDialog(rootPane, "Error al Eliminar registro", " Error ", JOptionPane.ERROR_MESSAGE);
                } // Fin de else
                limpiarCampos();
                borrarEnTabla();
            }
                if (ae.getSource() == botones[4]) {
                try {
                    mostrarTabla();
                } catch (SQLException ex) {
                    JOptionPane.showMessageDialog(rootPane, "Error al cargar la tabla", "Error", JOptionPane.ERROR_MESSAGE);
                } 
            }   

            }
        public void agregarEnTabla() {
        Object[] renglon = { Datos[0].getText(), Datos[1].getText(), Datos[2].getText(), Datos[3].getText(),
            Datos[4].getText(), Datos[5].getText(),true};
        dtm.addRow(renglon);
    } // Fin del método AgregarEnTabla
   
        public void limpiarTabla() {
        int renglones = dtm.getRowCount();
        for (int i = 0; i < renglones; i++){
            dtm.removeRow(0);
        }   
    }
          public ResultSet buscarUsuario() throws SQLException {
        String sql = "SELECT * FROM users WHERE nombre = '" + Datos[0].getText() + "';";
        Conexion.conectar();
        Statement st = Conexion.conexion.createStatement();
        ResultSet resultado = st.executeQuery(sql);
        while (resultado.next()) {
            Object[] fila = new Object[12];
            for (int i = 0; i < 12; i++) {
                fila = resultado.getObject(i + 1);
            } //Fin del for
            dtm.addRow(fila);
        } //Fin del while

        return resultado;
    } // Fin método BuscarUsuario
         public void limpiarCampos() {
        Datos[0].setText("");
        Datos[1].setText("");
        Datos[2].setText("");
        Datos[3].setText("");
        Datos[4].setText("");
    } // Fin LimpiarCampos
          public void borrarEnTabla() {
        int renglon = tabla.getSelectedRow();
        dtm.removeRow(renglon);
    } // Fin BorrarEnTabla
       public ResultSet mostrarTabla() throws SQLException {
        String sql = "SELECT nombre, direccion, telefono, usuario, "
                + "contraseña, tipousurio, bandera FROM users";
        Conexion.conectar();
        Statement st = Conexion.conexion.createStatement();
        ResultSet resultado = st.executeQuery(sql);
        while (resultado.next()) {
            Object[] fila = new Object[12];
            for (int i = 0; i < 12; i++) {
                fila = resultado.getObject(i + 1);
            } //Fin del for
            dtm.addRow(fila);
        } //Fin del while
        return resultado;
    } // Fin método ObtenerUsuario
    }

    public static void main(String args[]) {
        CtlgUsuarios obj1 = new CtlgUsuarios();
        obj1.pack();
        obj1.setVisible(true);
        obj1.setDefaultCloseOperation(EXIT_ON_CLOSE);

    }
}

Beans:
public class BeansUsuarios {

    private String nombre;
    private String direccion;
    private String telefono;
    private String usuario;
    private String contraseña;
    private String tipoUsuario;
    private boolean bandera;

    public BeansUsuarios() {
        nombre = "";
        direccion = "";
        telefono = "";
        usuario = "";
        contraseña = "";
        tipoUsuario = "";
        bandera = true;
    }
        /**
     * @return the nombre
     */
    public String getNombre() {
        return nombre;
    }

    /**
     * @param nombre the nombre to set
     */
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    /**
     * @return the direccion
     */
    public String getDireccion() {
        return direccion;
    }

    /**
     * @param direccion the direccion to set
     */
    public void setDireccion(String direccion) {
        this.direccion = direccion;
    }

    /**
     * @return the telefono
     */
    public String getTelefono() {
        return telefono;
    }

    /**
     * @param telefono the telefono to set
     */
    public void setTelefono(String telefono) {
        this.telefono = telefono;
    }

    /**
     * @return the usuario
     */
    public String getUsuario() {
        return usuario;
    }

    /**
     * @param usuario the usuario to set
     */
    public void setUsuario(String usuario) {
        this.usuario = usuario;
    }

    /**
     * @return the contraseña
     */
    public String getContraseña() {
        return contraseña;
    }

    /**
     * @param contraseña the contraseña to set
     */
    public void setContraseña(String contraseña) {
        this.contraseña = contraseña;
    }

    /**
     * @return the tipoUsuario
     */
    public String getTipoUsuario() {
        return tipoUsuario;
    }

    /**
     * @param tipoUsuario the tipoUsuario to set
     */
    public void setTipoUsuario(String tipoUsuario) {
        this.tipoUsuario = tipoUsuario;
    }

    public void setBandera(Boolean bandera) {
        this.bandera = bandera;
    }

    public boolean insertarUsuario() {
        String sql;
        sql = "INSERT INTO users(nombre, direccion, telefono, usuario, contraseña, tipousuario, bandera) "
                + "VALUES(?,?,?,?,?,?, true)";

        Conexion.conectar();

        try {
            PreparedStatement ps = Conexion.conexion.prepareStatement(sql);

            ps.setString(1, nombre);
            ps.setString(2, direccion);
            ps.setString(3, telefono);
            ps.setString(4, usuario);
            ps.setString(5, contraseña);
            ps.setString(6, tipoUsuario);
            ps.setBoolean(7, bandera);

            ps.execute();
            ps.close();

            return true;
        } catch (Exception e) {
            System.out.println("Ocurrio un error al insertar el registro");
            return false;
        }
    }

    public boolean actualizarUsuario() {
        String sql = "UPDATE users SET nombre = ?, direccion = ?, telefono = ?,"
                + " usuario = ?, contraseña = ?, tipousuario = ? where nombre = ?;";
        Conexion.conectar();
        try {
            PreparedStatement ps = Conexion.conexion.prepareStatement(sql);

            ps.setString(1, nombre);
            ps.setString(2, direccion);
            ps.setString(3, telefono);
            ps.setString(4, usuario);
            ps.setString(5, contraseña);
            ps.setString(6, tipoUsuario);
            ps.setBoolean(7, true);
           
            ps.executeUpdate();
            ps.close();

            return true;
        } catch (SQLException e) {
            System.out.println("Error al actualizar registro");
            e.printStackTrace();
            return false;
        }
    }

    public boolean eliminarUsuario() {
        String sql = "UPDATE users SET bandera=false where nombre = ?;";
        Conexion.conectar();
        try {
            PreparedStatement ps = Conexion.conexion.prepareStatement(sql);

            ps.setString(1, nombre);
            ps.executeUpdate();
            ps.close();

            return true;
        } catch (SQLException e) {
            System.out.println("Error al eliminar registro");
            e.printStackTrace();
            return false;
        }
    }

    public ResultSet devolverUsuarios() {

        String sql = "SELECT * FROM users";
        if (Conexion.conectar()) {
            ResultSet resultado = Conexion.ejecutarSQLSelect(sql);
            if (resultado != null) {
                return resultado;
            } else {
                return null;
            }
        } else {
            System.out.println("Hubo un error en la conexión");
            return null;
        }

    }


}

conexión
public class Conexion {

    public static Connection conexion = null;
     
    public Conexion() {
    }
   

    public static boolean conectar() {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            conexion = DriverManager.getConnection("jdbc:mysql://localhost:3306/final", "root", "12345678");
        } catch (SQLException ex) {
            System.out.println("Error al establecer conexión: " + ex);
            JOptionPane.showMessageDialog(null, ex.getMessage() + "1");
           return false;
        } catch (ClassNotFoundException ex) {
            System.out.println("Error al cargar driver: " + ex);
            JOptionPane.showMessageDialog(null, ex.getMessage() + "2" + ex.getMessage());
        return false;
        }
        return true;
    }

    public static boolean ejecutarSQL(String sql) {
        try {
            Statement sentencia = conexion.createStatement();
            sentencia.executeUpdate(sql);
            return true;
        } catch (SQLException ex) {
            System.out.println("Error en instrucción: " + ex);
            return false;
        }
    }

    public static ResultSet ejecutarSQLSelect(String sql) {
        try {
            Statement sentencia = conexion.createStatement();
            return sentencia.executeQuery(sql);
        } catch (SQLException ex) {
            System.out.println("Error al ejecutar instrución: " + ex);
            return null;

        }

    }

    public static void cerrarConexion() {
        try {
            conexion.close();
        } catch (SQLException ex) {
            System.out.println("Error al cerrar conexión");
        }
    }

}


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Proyecto : Taller de programación
Sugerencias y dudas sobre el Foro
De@th (L1zb3th) 4 3,689 Último mensaje 10 Noviembre 2007, 02:33 am
por De@th (L1zb3th)
problema con proyecto de programacion
Programación C/C++
Cristina123 2 2,652 Último mensaje 3 Mayo 2011, 20:05 pm
por Danyel_Casvill
[Proyecto] Programación en C
Programación C/C++
Lobialkon 2 4,640 Último mensaje 20 Octubre 2011, 21:15 pm
por s00rk
ayuda con un proyecto de programacion
Programación Visual Basic
zayco21 1 1,985 Último mensaje 10 Mayo 2012, 13:08 pm
por Saberuneko
Proyecto de programación móvil
Dudas Generales
lackax 1 1,837 Último mensaje 5 Febrero 2020, 01:49 am
por @XSStringManolo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines