Ich würde gerne wissen, wie Sie die Schriftart für den angezeigten/ausgewählten Wert in einem JComboBox
ändern. Z.B.Benutzerdefinierte Schriftart für JComboBox
Das obere Rendering von Aharoni
(freundlicher Genehmigung von this answer).
Ich kann die Liste Werte ändern mit einem Renderer wie folgt aus:
public class JComboBoxItalic extends BasicComboBoxRenderer {
protected DefaultListCellRenderer defaultRenderer = new DefaultListCellRenderer();
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
Font theFont = null;
JLabel renderer = (JLabel) defaultRenderer.getListCellRendererComponent(list, value, index, isSelected,cellHasFocus);
theFont = new Font("Courier", Font.ITALIC, 14);
renderer.setFont(theFont);
return renderer;
}
}
Aber dies hat keinen Einfluss auf den gewählten Wert , wenn die Box geschlossen ist. Irgendwelche Ideen?
Verwenden Sie stattdessen Html, um die Schriftart und Größe zu ändern .. Nur eine sugegstion. – ErrorNotFoundException
@Stanley * "Nur eine Suggestion" * Nicht sehr gut. Indem wir HTML-Strings als Werte setzen, anstatt Werte wie "Apple" zurück zu bekommen, erhalten wir '
Apple' - schrecklicher Missbrauch der API. –Wenn jedes Element eine 'how-to-display'-Variable enthält, dann ändern Sie einfach diese' how-to-display'-Variablen. – Infested