2010-08-23 16 views

Respuesta

139

El TableModel detrás del JTable se encarga de todos los datos detrás de la mesa. Con el fin de añadir y eliminar filas de una tabla, es necesario utilizar un DefaultTableModel

Para crear la tabla con este modelo:

JTable table = new JTable(new DefaultTableModel(new Object[]{"Column1", "Column2"})); 

Para añadir una fila:

DefaultTableModel model = (DefaultTableModel) table.getModel(); 
model.addRow(new Object[]{"Column 1", "Column 2", "Column 3"}); 

Puede también eliminar filas con este método.

Los detalles completos sobre la DefaultTableModel se pueden encontrar here

+1

+1 Esta es una buena respuesta; sin embargo, tenga en cuenta que DefaultTableModel es solo uno de muchos modelos. Sin embargo, es el más fácil de usar y recomendaría mantenerlo a menos que tenga que usar otro. – chessofnerd

+2

Al crear la tabla con su primera línea de código, aparece un error "El constructor DefaultTableModel (Object []) no está definido" – ThisClark

+2

@ThisClark: para ese constructor DefaultTableModel, también necesita agregar rowCount, como: 'Tabla JTable = new JTable (nuevo DefaultTableModel (new Object [] {"Column1", "Column2"}, 20)); ' –

49

Uso:

DefaultTableModel model = new DefaultTableModel(); 
JTable table = new JTable(model); 

// Create a couple of columns 
model.addColumn("Col1"); 
model.addColumn("Col2"); 

// Append a row 
model.addRow(new Object[]{"v1", "v2"}); 
7

Uso

DefaultTableModel model = (DefaultTableModel) MyJTable.getModel(); 

    Vector row = new Vector(); 
    row.add("Enter data to column 1"); 
    row.add("Enter data to column 2"); 
    row.add("Enter data to column 3"); 
    model.addRow(row); 

obtener el modelo con DefaultTableModel modelName = (DefaultTableModel) JTabelName.getModel();

crear un vector con Vector vectorName = new Vector();

añadir tantos row.add como comumns

complemento pronto sólo tiene que añadir con modelName.addRow(Vector name);

11

Para añadir fila-JTable, una de las maneras de hacerlo es:

1) Crear una tabla utilizando DefaultTableModel:

 DefaultTableModel model = new DefaultTableModel(); 
     model.addColumn("Code"); 
     model.addColumn("Name"); 
     model.addColumn("Quantity"); 
     model.addColumn("Unit Price"); 
     model.addColumn("Price"); 
     JTable table = new JTable(model); 

2) Para añadir fila :

 DefaultTableModel model = (DefaultTableModel) table.getModel(); 
     model.addRow(new Object[]{"Column 1", "Column 2", "Column 3","Column 4","Column 5"}); 
0

Para completar, primero asegúrese de tener hav e la importación correcta para que pueda utilizar la función addRow:

import javax.swing.table.*; 

Asumiendo que su JTable ya está creado, se puede proceder y crear su propio método fila de suma que acepte los parámetros que usted necesita:

public void yourAddRow(String str1, String str2, String str3){ 
    DefaultTableModel yourModel = (DefaultTableModel) yourJTable.getModel(); 
    yourModel.addRow(new Object[]{str1, str2, str3}); 
} 
Cuestiones relacionadas