.repaint();
.updateui
.revalidate
todo esto la tabla, lo mas extrano es que tambien intentente con los metodos del DefaultTableModel y tampoco me actualiza la tabla....aca les dejo el codigo, gracias por todo:
Código:
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.ResultSet; import java.sql.SQLException; import javax.swing.JFrame; import javax.swing.JMenuBar; import javax.swing.JMenu; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JTable; import javax.swing.JScrollPane; import javax.swing.table.DefaultTableModel; public class teoriasDatos extends JFrame implements ActionListener{ private final String[] titulos = {"Id", "Teoria", "Autor", "Año", "Ciencia"}; private JMenuBar barra; private JMenu archivo, edicion; private JMenuItem salir, buscar, modificar, eliminar; private DefaultTableModel dtm = new DefaultTableModel(); private JTable tabla = new JTable(dtm); private JScrollPane scroll = new JScrollPane(tabla); conexion cn = new conexion(); public teoriasDatos(){ super("Teorias System"); this.setLayout(null); this.setSize(900, 460); this.setResizable(false); this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); this.Objetos(); this.setVisible(true); } public void Objetos(){ barra = new JMenuBar(); archivo = new JMenu("Archivo"); edicion = new JMenu("Edicion"); buscar = new JMenuItem("Buscar"); modificar = new JMenuItem("Modificar"); eliminar = new JMenuItem("Eliminar"); salir = new JMenuItem("Salir"); barra.add(archivo); barra.add(edicion); archivo.add(salir); edicion.add(buscar); edicion.add(modificar); edicion.add(eliminar); this.setJMenuBar(barra); dtm.setColumnCount(0); dtm.setColumnIdentifiers(titulos); dtm.setRowCount(0); try{ ResultSet aux = cn.getSt().executeQuery("SELECT*FROM datos"); while(aux.next()){ Object [] fila = {aux.getObject(1), aux.getObject(2), aux.getObject(3), aux.getObject(4), aux.getObject(5)}; dtm.addRow(fila); } }catch(SQLException ioe){ JOptionPane.showMessageDialog(null, "Error al leer registro: " + ioe); } scroll.setBounds(0, 0, 900, 460); this.add(scroll); salir.addActionListener(this); buscar.addActionListener(this); modificar.addActionListener(this); eliminar.addActionListener(this); dtm.addTableModelListener(tabla); } public void actionPerformed(ActionEvent e) { if(e.getSource()==buscar){ try{ int i = Integer.parseInt(JOptionPane.showInputDialog("ID de la teoria a buscar")); ResultSet resultado = cn.buscar(i); tabla.changeSelection(i-1, i, false, false); }catch(Exception ioe){ JOptionPane.showMessageDialog(null, "Deber un introducir el ID " +ioe); } }else if(e.getSource() == modificar){ try{ int i = Integer.parseInt(JOptionPane.showInputDialog("ID de la teoria a modificar")); ResultSet resultado = cn.buscar(i); if(resultado.next()){ String au = JOptionPane.showInputDialog("Autor"); String an = JOptionPane.showInputDialog("Año"); String cie = JOptionPane.showInputDialog("Ciencia"); cn.modificar(i, au, an, cie); //ACA ES DONDE ESTA MI PROBLEMA dtm.fireTableRowsInserted(i, i); } }catch(Exception ioe){ JOptionPane.showMessageDialog(null, "Error al modificar datos: " +ioe); } } } }