Hallo,
ich hab da mal ein Problem. Ich versuche, eine JTable mit einem eigenen Model aufzubauen:
, wobei das Model folgendermaßen aussieht:
In der Zeile
kommt nun eine Nullpointerexception. Laut Debug wird anscheinend die Methode public int getRowCount() aufgerufen, bevor der Konstruktor anständig durchgelaufen ist, dementsprechend ist der Vector noch leer. Ich weiß jetzt nicht, ist das normal? Für Hilfe wäre ich sehr dankbar.
Greetings, Mel_One
ich hab da mal ein Problem. Ich versuche, eine JTable mit einem eigenen Model aufzubauen:
Code:
private JTable loadTable()
{
JTable table = new JTable();
Schnittstelle.Schnittstelle schnitt=new Schnittstelle.Schnittstelle();
Vector hotel = schnitt.getHotels();
// TableModel tabellenModel= new AbstractTableModel() {
// };
TableModelHotel model = new TableModelHotel(hotel);
table.setModel(model);
return table;
}
Code:
package gui;
import model.*;
import java.util.Vector;
public class TableModelHotel extends javax.swing.table.DefaultTableModel {
/**
* Creates a new instance of TableModelHotel
*/
private Vector data;
public TableModelHotel(Vector vec)
{
super();
this.setDataVector(vec);
}
public void setData(Vector data)
{
this.data=data;
}
public int getColumnCount() {
return 4;
}
public int getRowCount() {
return data.size();
}
public Object getValueAt(int rowIndex, int columnIndex) {
Object obj = data.get(rowIndex);
Hotel objHotel=(Hotel)obj;
switch(columnIndex)
{
case 1: return objHotel.getHotelCode();
case 2: return objHotel.getHotelName();
case 3: return objHotel.getCity();
case 4: return objHotel.getNumberOfStars();
default: return null;
}
}
public Vector getDataVector() {
return data;
}
public void setDataVector(Vector dataVector) {
this.data = dataVector;
}
public boolean isCellEditable(int row, int col) {
return false;
}
}
Code:
TableModelHotel model = new TableModelHotel(hotel);
Greetings, Mel_One