Hallo,
mal wieder ein Problem mit dem JTable.
Ich bin dabei mir ein eigenes Model zu schreiben. Problem ist folgendes:
Ich habe in einer Tabelle 4 Datensätze. Diese will ich ausgeben lassen - ich mach mir daher eine Instanz vom Typ Object.
anzahl ist in dem Fall die Anzahl der Datensätze aus der Tabelle. Wenn ich anzahl ausgeben lasse ist dies wie zu erwarten 4.
Wenn ich nun im Model die Methode getValueAt() aufrufe, gibt er eine Exception und noch anderes Zeugs aus:
Änder ich anzahl auf 5 (es gibt vier Datensätze) läuft es... und die Datensätze werden auch ausgegeben. Am Ende wird allerdings noch eine leere Zeile ausgegeben.
Ich versteh irgendwie den ganzen Zuammenhang nicht. Wenn ich 4 Datensätze habe (3 Spalten), müsste doch ein Object mit [3][2] reichen?! Müsste doch bei 0 anfangen... und [0][1] liefert auch einen Datensatz zurück...
Kann mir das mal einer eklären, ich bin leicht verwirrt... auch wie ich dann die leere Zeile wegkriege...
Vielen Dank :roll:
mal wieder ein Problem mit dem JTable.
Ich bin dabei mir ein eigenes Model zu schreiben. Problem ist folgendes:
Ich habe in einer Tabelle 4 Datensätze. Diese will ich ausgeben lassen - ich mach mir daher eine Instanz vom Typ Object.
Code:
data = new Object[anzahl][3];
anzahl ist in dem Fall die Anzahl der Datensätze aus der Tabelle. Wenn ich anzahl ausgeben lasse ist dies wie zu erwarten 4.
Wenn ich nun im Model die Methode getValueAt() aufrufe, gibt er eine Exception und noch anderes Zeugs aus:
Code:
java.lang.ArrayIndexOutOfBoundsException: 4
at Model.getValueAt(Model.java:56)
at javax.swing.JTable.getValueAt(Unknown Source)
at javax.swing.JTable.prepareRenderer(Unknown Source)
at javax.swing.plaf.basic.BasicTableUI.paintCell(Unknown Source)
usw.
Code:
public Object getValueAt(int rowIndex, int ColumnIndex)
{
System.out.println("ROW: " + rowIndex);
System.out.println("COLUMN: " + ColumnIndex);
System.out.println("---------------------");
return data[rowIndex][ColumnIndex];
}
Änder ich anzahl auf 5 (es gibt vier Datensätze) läuft es... und die Datensätze werden auch ausgegeben. Am Ende wird allerdings noch eine leere Zeile ausgegeben.
Ich versteh irgendwie den ganzen Zuammenhang nicht. Wenn ich 4 Datensätze habe (3 Spalten), müsste doch ein Object mit [3][2] reichen?! Müsste doch bei 0 anfangen... und [0][1] liefert auch einen Datensatz zurück...
Kann mir das mal einer eklären, ich bin leicht verwirrt... auch wie ich dann die leere Zeile wegkriege...
Vielen Dank :roll: