Hallo,
ich habe folgendes Problem:
Mit dieser Methode soll eine JTable erzeugt werden, in ein ScrollPane eingebaut werden und dieses dann zurückgegeben werden.
Funktioniert ansich auch, nur habe ich natürlich das Problem, dass ab dem 2. Aufruf der Methode das ScrollPane Objekt bereits besteht.
Meine Frage ist also, wie bekomme ich es hin, dass die ursprüngliche JTable bestehen bleibt, bei jedem Aufruf der Methode jedoch eine neue erzeugt wird?
Habe schon überlegt das mit einem Vector zu machen, allerdings wäre es dann schwierig den richtigen Index für die jeweilige JTable herauszufinden.
ich habe folgendes Problem:
Code:
static JScrollPane show_vil_list(String player){
JScrollPane spane = new JScrollPane();
Village[] villages = getVillages(player);
Object[][] vil_data = new String[villages.length][3];
Object[] columnNames = new String[]{"Dorfname", "Koordinaten", "Punkte"};
for(int i = 0; i < villages.length; i++){
vil_data[i][0] = villages[i].name.replace('+', ' ');
vil_data[i][1] = villages[i].xcoord + "|" + villages[i].ycoord;
vil_data[i][2] = villages[i].points;
}
TableModel model = new DefaultTableModel(vil_data, columnNames);
spane.getViewport().add(new JTable(model) {
public boolean isCellEditable(int x, int y) {
return false;
}
});
spane.setPreferredSize(new Dimension((int)screen.getWidth() / 2 - leftSplit.getPreferredSize().width, (int)screen.getHeight() - 90));
return spane;
}
Mit dieser Methode soll eine JTable erzeugt werden, in ein ScrollPane eingebaut werden und dieses dann zurückgegeben werden.
Funktioniert ansich auch, nur habe ich natürlich das Problem, dass ab dem 2. Aufruf der Methode das ScrollPane Objekt bereits besteht.
Meine Frage ist also, wie bekomme ich es hin, dass die ursprüngliche JTable bestehen bleibt, bei jedem Aufruf der Methode jedoch eine neue erzeugt wird?
Habe schon überlegt das mit einem Vector zu machen, allerdings wäre es dann schwierig den richtigen Index für die jeweilige JTable herauszufinden.