Farbige JList
-
Hi,
ich hab eine JList, in der ich momentan die Dateien eines bestimmten Verzeichnise anzeige(z.B.: listModel.addElement("File1.txt");)
Jetzt würde ich es aber gerne so machen, dass die Farbe des Eintrags abhängig vom Dateityp ist. Ist sowas möglich? Wenn ja wie? Oder gibts ne andere Möglichkeit soetwas zu realisieren?Mfg
-
So was ist möglich. Als erstes sollte das File-Objekt und nicht der Text an das Modell übergeben werden.
Ein Renderer übernimmt dann die Darstellung der Listeneinträge:
class MeinRenderer extends DefaultListCellRenderer { public Component getListCellRendererComponent( JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { JLabel label = (JLabel)super.getListCellRendererComponent(list,value,index,isSelected,cellHasFocus); if (value instanceof File) { File f = (File)value; label.setText(f.getName()); label.setForeground(f.getName().endWith(".txt") ? Color.RED : Color.BLACK); } return label; } }
liste.setCellRenderer(new MeinRenderer());
-
Hi,
jo, danke. Funktioniert beides perfekt.
Mfg