FrazeColder
Lt. Commander
- Registriert
- Okt. 2013
- Beiträge
- 1.721
Moin zusammen,
ich würde gerne für jede meiner Zeilen die Farbe ändern, sobald ein bestimmter prozentualer Wert unterschritten ist. Dann wird meine eigene Methode setRowColor() aufgerufen, die die Row ID und die Farbe der Methode übergibt.
Soweit so gut, nur wird die ganze Tabelle immer in der Farbe des letzten Elementes eingefärbt. Heißt, ist die letzte Zeile Rot, werden alle Zeilen Rot. Und das, obwohl ich die richtige Farbe der entsprechenden Farbe übergebe. Das sehe ich, da ich mir pro Zeile die Farbe ausgeben lasse. Das hier ist mein aktuelles Beispiel:
Heißt, meine erste Zeile sollte eigtl. Weiß sein und meine zweite Zeile Orange. Aber wie bereits beschrieben, werden beide Zeilen Orange... Hier mein Code der setRowColor Methode:
sellTable: meine JTable
Habt ihr eine Idee, wie ich das lösen kann oder wo mein Problem liegt?
Anscheinend ja an der Tabelle..
ich würde gerne für jede meiner Zeilen die Farbe ändern, sobald ein bestimmter prozentualer Wert unterschritten ist. Dann wird meine eigene Methode setRowColor() aufgerufen, die die Row ID und die Farbe der Methode übergibt.
Soweit so gut, nur wird die ganze Tabelle immer in der Farbe des letzten Elementes eingefärbt. Heißt, ist die letzte Zeile Rot, werden alle Zeilen Rot. Und das, obwohl ich die richtige Farbe der entsprechenden Farbe übergebe. Das sehe ich, da ich mir pro Zeile die Farbe ausgeben lasse. Das hier ist mein aktuelles Beispiel:
Code:
Row 0: White
Row (0) & Cell (0) to java.awt.Color[r=255,g=255,b=255]
Row (0) & Cell (1) to java.awt.Color[r=255,g=255,b=255]
Row (0) & Cell (2) to java.awt.Color[r=255,g=255,b=255]
Row 1: Orange
Row (1) & Cell (0) to java.awt.Color[r=255,g=200,b=0]
Row (1) & Cell (1) to java.awt.Color[r=255,g=200,b=0]
Row (1) & Cell (2) to java.awt.Color[r=255,g=200,b=0]
Heißt, meine erste Zeile sollte eigtl. Weiß sein und meine zweite Zeile Orange. Aber wie bereits beschrieben, werden beide Zeilen Orange... Hier mein Code der setRowColor Methode:
sellTable: meine JTable
Java:
private void setRowColor(int row, Color color){
for (int i = 0; i < 3; i++) {
TableCellRenderer tableCellRenderer = sellTable.getCellRenderer(row, i);
Component c = sellTable.prepareRenderer(tableCellRenderer, row, i);
c.setBackground(color);
System.out.println("Row (" + row + ") & Cell (" + i + ") to " + color.toString());
}
System.out.println();
System.out.println();
}
Habt ihr eine Idee, wie ich das lösen kann oder wo mein Problem liegt?
Anscheinend ja an der Tabelle..