0

Buenas el problema es el siguiente, (trabajo con Eclipse y Windows Builder), el programa se ejecutaba bien hasta que cree un jpanel y lo agregue, luego lo quite y empezaron los errores, pero no encuentro donde esta el error, ya revise todo el codigo y nada. El codigo:

package Formularios;

import java.awt.BorderLayout;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import java.awt.FlowLayout;
import java.awt.JobAttributes;

import javax.swing.JComboBox;
import javax.swing.JButton;
import java.sql.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.JScrollPane;
import javax.swing.table.TableModel;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.SwingConstants;
import javax.swing.border.MatteBorder;
import java.awt.Color;
import java.awt.Window.Type;
import javax.swing.border.TitledBorder;
import javax.swing.UIManager;
@SuppressWarnings("serial")
public class EliminarDeTabla extends JFrame {

    private JPanel contentPane;

    /**
     * Launch the application.
     */


    /**
     * Create the frame.
     */
    @SuppressWarnings("unchecked")
    public EliminarDeTabla() {

        setResizable(false);
        setTitle("Consulta y edicion de base de datos\r\n");
        setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
        setBounds(100, 100, 849, 469);
        contentPane = new JPanel();
        contentPane.setBackground(new Color(255, 255, 204));
        contentPane.setBorder(new EmptyBorder(0, 0, 0, 0));
        setContentPane(contentPane);
        contentPane.setLayout(null);

        JPanel panel = new JPanel();
        panel.setBounds(5, 5, 527, 30);
        contentPane.add(panel);
        panel.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));


        panel.add(secciones);
        secciones.addItem("Todos");


        panel.add(paises);
        paises.addItem("Todos");

        setLocationRelativeTo(null);
        JButton btnNewButton = new JButton("Consulta");
        btnNewButton.setBounds(5, 404, 527, 23);
        //ejecucion del boton
        btnNewButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                ejecutaConsulta();

            }
        });
        contentPane.add(btnNewButton);
        scrollPane.setBounds(5, 35, 527, 369);

        contentPane.add(scrollPane);
        table.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent arg0) {
                //al hacer click
                int seleccion = table.getSelectedRow();
            //  txtcodigo.setText((String) modelo.getValueAt(seleccion, 4));
                txtCodArt.setText((String) modelo.getValueAt(seleccion, 4));
                txtPrecio.setText(""+ modelo.getValueAt(seleccion, 2));
                txtNomArt.setText((String) modelo.getValueAt(seleccion, 0));


            }
        });

        scrollPane.setViewportView(table);

        JPanel panel_1 = new JPanel();
        panel_1.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "Modificaciones", TitledBorder.CENTER, TitledBorder.TOP, null, Color.BLUE));
        panel_1.setBounds(542, 128, 291, 299);
        contentPane.add(panel_1);
        panel_1.setLayout(null);

        JLabel lblNombreArticulos = new JLabel("Nombre Articulo");
        lblNombreArticulos.setBounds(10, 30, 97, 14);
        panel_1.add(lblNombreArticulos);


        //Modificaciones

        txtNomArt = new JTextField();
        txtNomArt.setBounds(117, 27, 146, 20);
        panel_1.add(txtNomArt);
        txtNomArt.setColumns(10);

        JLabel lblSeccion = new JLabel("Seccion");
        lblSeccion.setBounds(26, 67, 81, 14);
        panel_1.add(lblSeccion);


        SeccionesMod.setBounds(147, 64, 97, 20);
        panel_1.add(SeccionesMod);

        JLabel lblPrecio = new JLabel("Precio");
        lblPrecio.setBounds(27, 106, 66, 14);
        panel_1.add(lblPrecio);

        txtPrecio = new JTextField();
        txtPrecio.setColumns(10);
        txtPrecio.setBounds(117, 103, 146, 20);
        panel_1.add(txtPrecio);


        PaisMod.setBounds(147, 148, 97, 20);
        panel_1.add(PaisMod);

        JLabel lblPais = new JLabel("Pais");
        lblPais.setBounds(26, 151, 81, 14);
        panel_1.add(lblPais);

        JLabel lblCodigoArticulo = new JLabel("Codigo Articulo");
        lblCodigoArticulo.setBounds(10, 197, 97, 14);
        panel_1.add(lblCodigoArticulo);


        txtCodArt.setEditable(false);
        txtCodArt.setColumns(10);
        txtCodArt.setBounds(117, 194, 146, 20);
        panel_1.add(txtCodArt);

        JButton btnAplicarCambios = new JButton("Aplicar Cambios");
        btnAplicarCambios.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {

                AplicarCambios();
                ejecutaConsulta();
            }


        });
        btnAplicarCambios.setBounds(81, 247, 141, 23);
        panel_1.add(btnAplicarCambios);

        JLabel lblAgregarNuevoArticulo = new JLabel("Agregar nuevo Articulo");
        lblAgregarNuevoArticulo.setHorizontalAlignment(SwingConstants.CENTER);
        lblAgregarNuevoArticulo.setBounds(537, 89, 141, 23);
        contentPane.add(lblAgregarNuevoArticulo);

        JButton btnAbrirVentana = new JButton("Abrir Ventana");
        btnAbrirVentana.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                SubidaArchivos sb = new SubidaArchivos();
                sb.show();

            }
        });
        btnAbrirVentana.setBounds(697, 89, 104, 23);
        contentPane.add(btnAbrirVentana);

        modelo.addColumn("producto");
        modelo.addColumn("seccion");
        modelo.addColumn("precio");
        modelo.addColumn("pais");
        modelo.addColumn("CÓDIGOARTÍCULO");

        //----------------Conexion BD-----------------//
        try {
            String SolucionTimeZone = "&serverTimezone=UTC"; //establece la zona horaria a UTC
            String SolucionErrorSSL = "?useSSL=false"; //es para que ignore la interfaz de logeo de phpmyadmin
            String baseDatos = "profesorado2018";
             miConexion = DriverManager.getConnection("jdbc:mysql://localhost:3306/"+baseDatos+SolucionErrorSSL+SolucionTimeZone,"root","");
            Statement sentencia = miConexion.createStatement();

            String consulta = "SELECT DISTINCTROW SECCIÓN FROM PRODUCTOS";

            ResultSet rs = sentencia.executeQuery(consulta);


        while (rs.next()) {
            secciones.addItem(rs.getString(1));
            SeccionesMod.addItem(rs.getString(1));

        }
        rs.close(); 

        //-------------------Carga ComboBox Paises-------------------//
        String consulta2 = "SELECT DISTINCTROW PAÍSDEORIGEN FROM PRODUCTOS";

        ResultSet rs2 = sentencia.executeQuery(consulta2);

                while (rs2.next()) {
                        paises.addItem(rs2.getString(1));
                        PaisMod.addItem(rs2.getString(1));
                    }
                    rs2.close();    

        } catch (SQLException e) {
            JOptionPane.showMessageDialog(null, "Error al conectar con la base de datos", "Error 404", JOptionPane.ERROR_MESSAGE);
            // TODO: handle exception
        }

    }



    //metodo que ejecuta la consulta
    private void ejecutaConsulta() {

    modelo.setRowCount(0);
        table.setModel(modelo);
        ResultSet rs = null;
        //reinicio del textArea

        try {
            //guardamos en variables lo seleccionado en los combobox
            String seccion = secciones.getSelectedItem().toString();
            String pais = (String)paises.getSelectedItem();

            //preparamos la consulta


            if(!seccion.equals("Todos") && pais.equals("Todos")) {
                enviaConsultaSeccion = miConexion.prepareStatement(consultaSeccion);
                enviaConsultaSeccion.setString(1, seccion);
                //ejecutamos la consulta
                rs = enviaConsultaSeccion.executeQuery();

            }else if (seccion.equals("Todos") && !pais.equals("Todos")) {
                enviaConsultaPais = miConexion.prepareStatement(consultaPais);
                enviaConsultaPais.setString(1, pais);
                //ejecutamos la consulta
                rs = enviaConsultaPais.executeQuery();

            }else if (!seccion.equals("Todos") && !pais.equals("Todos")) {
                enviaConsultaPaisySeccion = miConexion.prepareStatement(consultaPaisySeccion);
                enviaConsultaPaisySeccion.setString(1, seccion);
                enviaConsultaPaisySeccion.setString(2, pais);
                //ejecutamos la consulta
                rs = enviaConsultaPaisySeccion.executeQuery();
            }else {
                enviaConsultaTodos = miConexion.prepareStatement(consultaTodos);
                //ejecutamos la consulta
                rs = enviaConsultaTodos.executeQuery();
            }



            while (rs.next()) {


            for(int i = 0;i < 5;i++) {
                fila[i] = rs.getObject(i+1);
            }
            modelo.addRow(fila);
            table.setModel(modelo);

            }

            rs.close();
        } catch (Exception e) {
            e.printStackTrace();
        }


    }


    private void AplicarCambios() {
        //update 
        //instruccionSql = "UPDATE PRODUCTOS SET PRECIO = PRECIO*2 WHERE CÓDIGOARTÍCULO = 'AR77' ";
        //misentencia.executeUpdate(instruccionSql);
        //System.out.println("Se actualizo correctamente.");


        //ejecutamos la consulta

        try {
            Statement misentencia = miConexion.createStatement();
            String actualizarcons = "UPDATE PRODUCTOS SET CÓDIGOARTÍCULO = '"+txtCodArt.getText()+"' , SECCIÓN = '"+SeccionesMod.getSelectedItem().toString()+"' , NOMBREARTÍCULO = '"+txtNomArt.getText()+"' ,PRECIO = '"+txtPrecio.getText()+"',PAÍSDEORIGEN = '"+PaisMod.getSelectedItem().toString()+"' WHERE CÓDIGOARTÍCULO = '"+txtCodArt.getText()+"'";


            misentencia.executeUpdate(actualizarcons);
            JOptionPane.showMessageDialog(null, "Se ejecuto Correctamente", "Base de datos", JOptionPane.INFORMATION_MESSAGE);

        } catch (SQLException e) {
            JOptionPane.showMessageDialog(null, "Error al actualizar", "Error 104", JOptionPane.ERROR_MESSAGE);
            // TODO Auto-generated catch block
            e.printStackTrace();
        }


    }

    @SuppressWarnings("rawtypes")
    JComboBox secciones = new JComboBox();

    @SuppressWarnings("rawtypes")
    JComboBox paises = new JComboBox();
    //consulta preparada


    private PreparedStatement enviaConsultaSeccion;
    private PreparedStatement enviaConsultaPais;
    private PreparedStatement enviaConsultaPaisySeccion;
    private PreparedStatement enviaConsultaTodos;
    private final String consultaSeccion = "SELECT NOMBREARTÍCULO, SECCIÓN, PRECIO, PAÍSDEORIGEN,CÓDIGOARTÍCULO FROM PRODUCTOS WHERE SECCIÓN =?";
    private final String consultaPais = "SELECT NOMBREARTÍCULO, SECCIÓN, PRECIO, PAÍSDEORIGEN,CÓDIGOARTÍCULO FROM PRODUCTOS WHERE PAÍSDEORIGEN =?";
    private final String consultaPaisySeccion = "SELECT NOMBREARTÍCULO, SECCIÓN, PRECIO, PAÍSDEORIGEN,CÓDIGOARTÍCULO FROM PRODUCTOS WHERE SECCIÓN =? AND PAÍSDEORIGEN =?";
    private final String consultaTodos = "SELECT NOMBREARTÍCULO, SECCIÓN, PRECIO, PAÍSDEORIGEN,CÓDIGOARTÍCULO FROM PRODUCTOS";

    private Connection miConexion;
    DefaultTableModel modelo = new DefaultTableModel();

    private Object [] fila = new Object[5];
    private final JScrollPane scrollPane = new JScrollPane();
    private final JTable table = new JTable((TableModel) null) {
        public boolean isCellEditable(int row,int col) {
            return false;
        }
    };
    private JTextField txtNomArt;
    private JTextField txtPrecio;
    private JTextField txtCodArt;
    private JComboBox SeccionesMod = new JComboBox();
    private JComboBox PaisMod = new JComboBox();

}
alanfcm
  • 20,427
  • 11
  • 17
  • 34
Erik
  • 1

0 Answers0