ListCellRenderer - TeilString farbig markieren

  • Themenstarter Themenstarter Guest
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hi,

ich habe mir ein ListCellRenderer geschrieben. Mit diesem möchte ich einen Teil-String in einer JList
farbig markieren.
Das funktionniert auch fast. Bloß in die Liste steht dann nur der farbig markierte Teil, der Rest fehlt.

Hat jemand eine Ahnung wieso? hier der Code:
Code:
import java.awt.Color;
import java.awt.Component;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.ListCellRenderer;

public class AgeListRenderer extends JLabel implements ListCellRenderer{

	public AgeListRenderer()
    {
		setOpaque(true);
    }

    public Component getListCellRendererComponent(
    JList list,
    Object value,
    int index,
    boolean isSelected,
    boolean cellHasFocus)
    {
    		String tmp = value.toString().substring(0,10);
    		value = value.toString().substring(11,15);	
    		setText(value.toString());
    		setBackground(isSelected ? new Color(184,207,229): Color.WHITE); 
    		setForeground(Color.CYAN.darker());
    		value = tmp.concat(value.toString());
   		return this;
    }    
 }

Schon mal Dankeschön für jede Hilfe!
 
Code:
setText(value.toString());

Füge ich diese Zeile noch hinzu zum Schluss, erscheint zwar wieder der ganz String aber
der komplette String wird dann farbig.
 
Code:
setBackground(isSelected ? new Color(184,207,229): Color.WHITE);

hiran muss es liegen, mit set Background wird der komplette String farbig gemacht, obwohl das
value nur ein Substring ist.
 
Anonymous hat gesagt.:
Code:
setBackground(isSelected ? new Color(184,207,229): Color.WHITE);

hiran muss es liegen, mit set Background wird der komplette String farbig gemacht, obwohl das
value nur ein Substring ist.

bzw. hieran
Code:
setForeground(Color.CYAN.darker());
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben