Hallo,
also hab hier viele Beispiele durchgestörbert.
Ich benutze eine JList und möchte Farben setzen auf bestimme Zeilen der JList. Nun gut und schön - momentan ruf ich dann immer folgendes auf:
im Vector "theColors" stehen die Farben in der richtigen Reihenfolge.
Nun möchte ich nicht ständig den ganzen Code schreiben, sondern einfach eine Methode machen, der ich meinen Vector übergebe und der die Farben bei der JList anpasst.
Die JList ist public, drum brauch ichs nicht übergeben.
aber ich hab riesen probs mit dem "getListCellRenderer( ... )"
versteh sowieso nicht wie das ganze gesetzt wird.
Wenn ich mir vorm "comp.setForeground" den index ausgeben lasse, wird der immer doppelt ausgegeben, folglich werden die Farben immer doppelt gesetzt.. ändert zwar nix an der Richtigkeit, aber warum rennt der doppelt durch?!
Bei 3 List-Einträgen krieg ich folgendes zurück:
0
0
1
1
2
2
wieso? ???:L
also hab hier viele Beispiele durchgestörbert.
Ich benutze eine JList und möchte Farben setzen auf bestimme Zeilen der JList. Nun gut und schön - momentan ruf ich dann immer folgendes auf:
Code:
userlist_list.setCellRenderer(new DefaultListCellRenderer()
{
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus)
{
Component comp = super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
comp.setForeground(getColorFromString(theColors.get(index).toString()));
return comp;
}
});
im Vector "theColors" stehen die Farben in der richtigen Reihenfolge.
Nun möchte ich nicht ständig den ganzen Code schreiben, sondern einfach eine Methode machen, der ich meinen Vector übergebe und der die Farben bei der JList anpasst.
Die JList ist public, drum brauch ichs nicht übergeben.
aber ich hab riesen probs mit dem "getListCellRenderer( ... )"
versteh sowieso nicht wie das ganze gesetzt wird.
Wenn ich mir vorm "comp.setForeground" den index ausgeben lasse, wird der immer doppelt ausgegeben, folglich werden die Farben immer doppelt gesetzt.. ändert zwar nix an der Richtigkeit, aber warum rennt der doppelt durch?!
Bei 3 List-Einträgen krieg ich folgendes zurück:
0
0
1
1
2
2
wieso? ???:L