Я пытаюсь нарисовать таблицу с существующим ArrayList.Кто-то из этого форума сказал мне использовать AbstractModelTable.
public class prueba2 extends JFrame{
private ArrayList<alumnos> nLista = new ArrayList<alumnos>();
private String[] columnas = {"Nombre","Apellidos","Ciudad"};
public prueba2(){
nLista.add(new alumnos("Alberto","Espina","Malaga"));
nLista.add(new alumnos("Luisa","Sanchez","Madrid"));
nLista.add(new alumnos("Maria","Queixo","Tarragona"));
nLista.add(new alumnos("Alvaro","Gomez","Alicante"));
nLista.add(new alumnos("Pablo","Robles","El ejido"));
TablaAbs abs = new TablaAbs(nLista, columnas);
JTable tabla = new JTable(abs);
add(tabla);
setLayout(null);
setVisible(true);
for(alumnos a: nLista){
System.out.println(a.Frase());
}
}
}
class alumnos{
private String nombre;
private String apellidos;
private String ciudad;
public alumnos(String nombre,String apellidos,String ciudad){
this.nombre = nombre;
this.apellidos = apellidos;
this.ciudad = ciudad;
}
public String Frase(){
return "Nombre " +nombre+ "apellidos " +apellidos+ " Ciudad " +ciudad;
}
}
class TablaAbs extends AbstractTableModel{
private ArrayList aL;
private String[] columnas;
public TablaAbs(ArrayList nLista, String[] columnas){
aL = nLista;
this.columnas = columnas;
}
@Override
public int getRowCount() {
return aL.size();
}
@Override
public int getColumnCount() {
return columnas.length;
}
@Override
public String getColumnName(int column) {
return columnas[column];
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
return aL.get(rowIndex);
}
}
Я пробовал с обычным массивом, ArrayList (в данном случае) и даже с DefaultTableModel, но не знаю, что я делаю неправильно.Таблицы никогда не появлялись.