Hallo zusammen
Ich möchte die Länge einer Tabelle dynamisch aufbauen lassen. Dabei soll es darauf ankommen, wieviele Einträge in einem Array vorhanden sind. Die Tabelle soll dabei so lang sein, wie die Anzahl der Einträge im Array. Da nun die Tabelle jeweils unterschiedlich viele Einträge hat, muss das Ganze felxibel und dynmaisch sein.
Ich habe mir dabei Folgendes überlegt:
Ich habe eine while Schleife gebaut, solange die ungelich null ist (Vergleich mit Array) werden die Arrays jeweils um 1 erhöht...und der Wert des Zählers sollte dann schlussund endlich bei der getColumnCount Methode die Anzahl der Zeilen ausgeben. Lange Rede kurzer Sinn, etwas funzt nicht.
Hier einmal der Code, wäre froh wenn mir jemand helfen könnte:
Muss ich damit dies funktioniert eine addRow Methode oder so starten? Besten Dank für Eure Hilfe
Ich möchte die Länge einer Tabelle dynamisch aufbauen lassen. Dabei soll es darauf ankommen, wieviele Einträge in einem Array vorhanden sind. Die Tabelle soll dabei so lang sein, wie die Anzahl der Einträge im Array. Da nun die Tabelle jeweils unterschiedlich viele Einträge hat, muss das Ganze felxibel und dynmaisch sein.
Ich habe mir dabei Folgendes überlegt:
Ich habe eine while Schleife gebaut, solange die ungelich null ist (Vergleich mit Array) werden die Arrays jeweils um 1 erhöht...und der Wert des Zählers sollte dann schlussund endlich bei der getColumnCount Methode die Anzahl der Zeilen ausgeben. Lange Rede kurzer Sinn, etwas funzt nicht.
Hier einmal der Code, wäre froh wenn mir jemand helfen könnte:
Code:
import javax.swing.table.AbstractTableModel;
public class ModellTabelle extends AbstractTableModel {
public String[] buySell = new String[1000];
public String[] counterparty= new String[1000];
public String[] datum = new String[1000];
public String[] energieAngefragt = new String[1000];
public String[] statusAngefragt = new String[1000];
public String[] energieGehandelt = new String[1000];
public String[] statusGehandelt = new String[1000];
public int zaehler = 0;
public String[] datenueberschrift = null; // hier neu
public String[][] daten = null; // hier neu
public ModellTabelle(String[] buySell, String[] counterparty, String[] datum, String[] energieAngefragt, String[] statusAngefragt, String[] energieGehandelt, String[] statusGehandelt) {
this.buySell = buySell;
this.counterparty = counterparty;
this.datum = datum;
this.energieAngefragt = energieAngefragt;
this.statusAngefragt = statusAngefragt;
this.energieGehandelt = energieGehandelt;
this.statusGehandelt = statusGehandelt;
datenueberschrift = new String[]
{
"Stunde / Minuten", "15 Minuten", "30 Minuten", "45 Minuten", "60 Minuten"
};
while(statusGehandelt[zaehler] != null) {
daten = new String[][] {
{ "Stunde 1", buySell[zaehler], counterparty[zaehler], datum[zaehler], energieAngefragt[zaehler], }
//{ "Stunde 1", buySell[zaehler], counterparty[zaehler], datum[zaehler], energieAngefragt[zaehler], },
//{ "Stunde 2", buySell[1], counterparty[1], datum[1], energieAngefragt[1], }
};
++zaehler; //<--Zähler zählt Grösse der Tabelle
}
}
// *******************************//
// Vorbereitung / Muss Methoden //
//*****************************//
//Die Anzahl Reihen
public int getRowCount() {
return zaehler; //<--Hier soll Länge der tabelle zürückgegeben werden.
//return daten.length;
}
//Die Anzahl Kolonnen
public int getColumnCount() {
return datenueberschrift.length;
}
public String getColumnName(int col) {
return datenueberschrift[col];
}
public Object getValueAt(int row, int col) {
return daten[row][col]; //<---Fehler! Diskrepanz zwischen angezeigter und errechneter Länge der Tabelle
}
}
Muss ich damit dies funktioniert eine addRow Methode oder so starten? Besten Dank für Eure Hilfe