S
Sym
Gast
Hallo,
ich habe folgendes Phänomen: Ich habe einen Renderer für eine ComboBox geschrieben. Der funktioniert auch wunderbar. Und sobald ich ein Objekt auswähle, klappt die Box wieder zusammen. Leider wird für die zusammengeklappte Box anscheinend der Renderer nicht genutzt.
Renderer für Schriftarten:
Renderer für Farben:
Habe ich da was übersehen?
ich habe folgendes Phänomen: Ich habe einen Renderer für eine ComboBox geschrieben. Der funktioniert auch wunderbar. Und sobald ich ein Objekt auswähle, klappt die Box wieder zusammen. Leider wird für die zusammengeklappte Box anscheinend der Renderer nicht genutzt.
Renderer für Schriftarten:
Code:
public class FontRenderer extends JLabel implements ListCellRenderer {
/**
* Generated serial version.
*/
private static final long serialVersionUID = 5535068004377406870L;
/**
* Constructor.
*/
public FontRenderer() {
setOpaque(true); // do not rely on look and feel default settings
}
/**
* {@inheritDoc}
*/
public final Component getListCellRendererComponent(final JList list,
final Object value, final int index, final boolean isSelected,
final boolean cellHasFocus) {
String text = "";
if (value instanceof Font) {
Font font = (Font) value;
setFont(font);
text = font.getFontName();
}
setText(text);
return this; // label is done, return
}
}
Renderer für Farben:
Code:
public class ColorRenderer extends JLabel implements ListCellRenderer {
/**
* Generated serial version.
*/
private static final long serialVersionUID = 7865281848578121702L;
/**
* Constructor.
*/
public ColorRenderer() {
setOpaque(true); // do not rely on look and feel default settings
}
/**
* {@inheritDoc}
*/
public final Component getListCellRendererComponent(final JList list,
final Object value, final int index, final boolean isSelected,
final boolean cellHasFocus) {
String text = " ";
if (value instanceof Color) {
Color color = (Color) value;
setBackground(color);
setForeground(color);
}
setText(text);
setFont(list.getFont());
return this; // label is done, return
}
}
Habe ich da was übersehen?