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();
}