¿Cómo eliminar filas en JTable antes de llenar nuevos datos en la tabla?

Estoy completando datos de mi base de datos en mi JTable. Después de agregar nuevos datos y presionar el botón Actualizar, quiero eliminar la fila existente que se muestra en la tabla antes de recuperar los nuevos datos. ¿Cómo puedo eliminar la fila existente?

Aquí está la tabla original con datos [a, 1].

Original

Esta es la tabla después de agregar nuevos datos [b, 1] y presionar el botón Actualizar. Los datos originales [a, 1] todavía se muestran en la tabla:

Después de insertar

JButton refreshButton = new JButton("Refresh");
refreshButton.setBounds(188, 248, 101, 23);
panel.add(refreshButton);

refreshButton.addActionListener(new ActionListener() 
{                        
    public void actionPerformed(ActionEvent ae)
    {

    DefaultTableModel model = new DefaultTableModel(data,columnNames);
    int rowCount = model.getRowCount(); 

    for (int x = 0; x <=rowCount; x++)
    {
        model.removeRow(x);
    }


        try
        {                       
            Class.forName("com.mysql.jdbc.Driver");
            Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/watchlist","root","root");

            String sql = "SELECT * FROM watchlist";
            Statement stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery(sql);
            ResultSetMetaData md = rs.getMetaData();    


            int columns = md.getColumnCount();  

            while (rs.next())
            {   
                Vector row = new Vector(columns);

                for (int i=1; i <= columns; i++)
                {
                    row.addElement( rs.getObject(i) );              
                    System.out.println( rs.getObject(i).toString());        
                }                           

                data.addElement(row);   

                table.revalidate(); 
                table.repaint();
                panel.repaint();

            } // end while  

        } // end try

        catch (Exception e){
        }
    }

});
Respuesta 1

Creo que vi esta pregunta,

1) buscar ResultsetTableModel / TableFromDatabase(mejor)

  • (si la conexión de la base de datos (acción tan dura y lenta) no se cierra durante el ciclo de vida de las aplicaciones)

a) reemplazar JTablecontenido

b) funciona con la base de datos incrustada de la base de datos colocada en la intranet inmediatamente

  • dis

todos los procesos están durante EDT, luego GUI esperando la instrucción SQL

para la mayoría de los ejemplos de código necesarios para pasar Xxx.closeal bloque finalmente

2) la solución más compleja que tiene que usar SwingWorker, la forma mejor y más fácil es cargar datos desdeRunnable#Thread

3) puede eliminar filas de TableModel,

Respuesta: 2

Puede eliminar la fila (consulte DefaultTableModel.removeRow) o colocar los datos nuevos en un nuevo modelo de tabla y reemplazar el modelo de tabla de la tabla con JTable.setModel ()

Respuesta: 3

Recibo el siguiente error al usar TomEE y JPA: GRAVE: AGENTE JAVA NO INSTALADO. El proveedor de persistencia JPA solicitó la instalación de un ClassFileTransformer que requiere un JavaAgent. Ver ...

Tengo un JPanel con componentes agregados con ubicaciones absolutas (es decir, "pos x y"), y el diseño es efectivamente dos columnas de campos de texto. Lo que me gustaría lograr sería que Tab cambiara el enfoque ...

Estoy tratando de analizar la siguiente URL: http://kavim-t.co.il/include/getXMLStations.asp?parent=55_%20_2 Código: // usando jdom SAX parser SAXBuilder builder = new SAXBuilder (); URL url = nueva URL ("http: // kavim-t ....

Estoy escribiendo una aplicación de Android que se comunicará con la PC. Intenté crear 2 paquetes en un solo proyecto de eclipse, pero esto no parece funcionar. Cuando trato de depurar la aplicación Java para PC, ...