Swing Element einer JComboBox ausgrauen

kodela

Bekanntes Mitglied
Hallo,

ich habe eine JComboBox als Teil der GUI. Die GUI wurdemit dem GUI-Builder von NetBeans erstellt. Das erste der sechs Auswahlelemente muss anders behandelt werden als die übrigen fünf. Es wird lediglich ein Zustand angezeigt. Mit den übrigen fünf kann dieser Zustand (Level) ausgewählt und damit verändert werden.

Das funktioniert auch alles so, wie beschrieben. Nun möchte ich aber den Eintrag für das nicht anwählbare Element auch optisch anders gestalten, zum Beispiel mit grauem Hintergrund oder grauer Farbe.

Ich habe diese Auswahl nicht nur über die JComboBox in der Symbolleiste, ich habe sie auch über ein JMenu mit sechs JRadioButtonMenuItrms. Damit kann ich das erste Element gegebenenfalls als selektiert, aber imer ausgegraut und nicht auswählbar anzeigen. Mit der JComboBox gelingt mir dies nicht. Der Anwender kann das erste Element zwar anklicken, die Anwendung reagiert darauf aber nicht. Ich könnt darauf zwar einen Hinweis ausgeben, dass der Level 0 zum Beispiel nicht auswählbar ist. Aber es wäre mir eben lieber, wenn dies der Anwender sofort nach dem Öffnen der Box erkennen könnte, dass der Level 0 nicht auswählbar ist. Zum besseren Verständnis: Die Auswahl des Levels wird benötigt, wenn der Anwender ein neues Objekt oder eine Serie von Objekten mit einem gewählten Level erstellen will. Die Anzeige zeigt ansonsten den Level des aktuell in Bearbeitung befindlichen Objektes.

Kennt jemand eine Möglichkeit, wie man ein Listenelement einer JComboBox optisch anders darstellen kann, als die übrigen?

Gruß, kodela
 

kodela

Bekanntes Mitglied
Danke für den Tipp und das Beispiel. Das sieht gut aus und ich bin mir sicher, dass ich damit das Aussehen des ersten Elements so hinbekomme, wie ich es mir vorstelle.

Gruß, kodela
 

kodela

Bekanntes Mitglied
Hallo LimDul,

Dank Deines Hinweises wird bei mir der erste Eintrag in der ComboBox nun ausgegraut angezeigt. Folgende Änderungen mussten vorgeniommen werden.

Im GUI-Builder von NezBeans musste für die Option "Quelltext vor der Erzeugung" folgender Code eingegeben werden:

[CODE lang="java" title="ListCellRenderer renderer = new ComplexCellRenderer();"][/CODE]

Für die Option "Quelltext nach der Initialisierung:" musste folgender Code eingegeben werden:

[CODE lang="java" title="levelBox.setRenderer(renderer);"][/CODE]

In der Frame-Klasse kam dann noch der Renderer selbst hinzu. Hier der Code:

Java:
    /**
     * Rendert die Ausgabe für die Levelbox so, dass der Level 0 ausgegraut ersheint.
     */
    class ComplexCellRenderer implements ListCellRenderer {
        protected DefaultListCellRenderer defaultRenderer = new DefaultListCellRenderer();

        @Override
        public Component getListCellRendererComponent(JList list, Object value, int index,
                boolean isSelected, boolean cellHasFocus) {
            JLabel renderer = (JLabel) defaultRenderer.getListCellRendererComponent(
                    list, value, index, isSelected, cellHasFocus);
            Color theForeground;
            if (index == 0) {
                theForeground = Color.LIGHT_GRAY;
            } else {
                theForeground = Color.BLACK;
            }
            String theText = value.toString();
            renderer.setForeground(theForeground);
            renderer.setText(theText);
            return renderer;
        }
    }

Das sieht dann so aus:

Level 0 ausgegraut.png

Nochmals danke für den Hinweis.

Gruß, kodela
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
R GUI Element in einer Methode aktualisieren (JTextPane) AWT, Swing, JavaFX & SWT 13
S Listener der mich informiert wann immer einer Liste ein Element hinzugefuegt wird? AWT, Swing, JavaFX & SWT 4
U Ein Element in einer JList farbig hervorheben ! AWT, Swing, JavaFX & SWT 2
A Element aus einer JList löschen AWT, Swing, JavaFX & SWT 5
D Element aus einer Methode heraus hinzufügen AWT, Swing, JavaFX & SWT 2
berserkerdq2 Wie greife ich auf ein Element zu, welches ich beim Scenebuilder erstellt habe AWT, Swing, JavaFX & SWT 10
W Element aus comboBox mit observableList löschen AWT, Swing, JavaFX & SWT 3
J JavaFx PDF in einem Element in einem Fenster anzeigen. AWT, Swing, JavaFX & SWT 11
G FX warten bis ein anderes GUI Element ausgewählt wurde AWT, Swing, JavaFX & SWT 8
N JavaFX Tableview nach Löschen von Element falscher Index AWT, Swing, JavaFX & SWT 4
M Internal Frames und Canvas-Element AWT, Swing, JavaFX & SWT 9
K JavaFX Element in HBOX nach rechts verschieben AWT, Swing, JavaFX & SWT 2
stroggi Swing Suche nach Kurveneditor (UI-Element) AWT, Swing, JavaFX & SWT 1
I FXML: StackPane als Root-Element AWT, Swing, JavaFX & SWT 5
ImperatorMing JavaFX Übersicht - Welches Element kann welches Erreignis AWT, Swing, JavaFX & SWT 3
D Swing "blaues" Element aus JComboBox erhalten AWT, Swing, JavaFX & SWT 6
F JavaFX Custom ListView erstellt ghost Element AWT, Swing, JavaFX & SWT 3
GreenTeaYT Wie vergebe Ich den Jframe Title den Namen aus einem Element von der Arraylist ? AWT, Swing, JavaFX & SWT 4
L JavaFX Hover Effekt über das Parent Element AWT, Swing, JavaFX & SWT 4
domjos1994 JavaFX Element auswählen auf dem der Cursor ist AWT, Swing, JavaFX & SWT 1
M Ein Element in mehreren JList selektieren AWT, Swing, JavaFX & SWT 5
G JavaFX NullPointerException bei Zugriff auf FXML Element AWT, Swing, JavaFX & SWT 0
P Swing Nach removeAll() noch 1 Element vorhanden AWT, Swing, JavaFX & SWT 0
K Swing GUI Element wird nicht skaliert AWT, Swing, JavaFX & SWT 6
K Swing JList - Element richtig hinzufügen AWT, Swing, JavaFX & SWT 4
Z Swing Von vielen Klassen auf ein GUI-Element zugreifen AWT, Swing, JavaFX & SWT 10
M Element aus JList eines JFileChooser entfernen AWT, Swing, JavaFX & SWT 3
E selektiertes Element aus JList zurückgeben AWT, Swing, JavaFX & SWT 7
H Swing Element aus JComboBox auswählen AWT, Swing, JavaFX & SWT 2
C click auf JButton und darunter liegendes element AWT, Swing, JavaFX & SWT 5
B Element schrittweise verschieben AWT, Swing, JavaFX & SWT 2
S Ausschluss bei Klick auf GUI Element AWT, Swing, JavaFX & SWT 6
GianaSisters AWT Per Button neues Element auf den jPanel setzen AWT, Swing, JavaFX & SWT 6
M gleiches Element in JList mehrmals hintereinander auswählen AWT, Swing, JavaFX & SWT 6
GianaSisters jList nur einmal ein Element anklicken AWT, Swing, JavaFX & SWT 3
F Element anzeigen / erstellen. Maus vs Controller AWT, Swing, JavaFX & SWT 7
M Frage nach Swing Element AWT, Swing, JavaFX & SWT 3
J jList, recht Maustast => Tooltip zu Element AWT, Swing, JavaFX & SWT 8
W SWT Resize Tree-Element AWT, Swing, JavaFX & SWT 3
Landei Swing JTree - Element mit Doppelklick auswählen AWT, Swing, JavaFX & SWT 4
B Swing: letztes Element wird immer auf Fenstergröße gezogen AWT, Swing, JavaFX & SWT 3
F Swing Paint mit Canvas Element AWT, Swing, JavaFX & SWT 35
G JTree Element wird nicht markiert AWT, Swing, JavaFX & SWT 2
X Swing Swing Element gesucht -> um als Konsole zu fungieren AWT, Swing, JavaFX & SWT 4
H GridBagLayout Element komplett ausfüllen AWT, Swing, JavaFX & SWT 5
D Swing Document-Structure; Element AWT, Swing, JavaFX & SWT 4
N Nur ein Element sichtbar beim Drucken eines JFrame AWT, Swing, JavaFX & SWT 9
C Aktion durchführen bei Klick auf ein Element im JTree (Untersch. Klick und Doppklick) AWT, Swing, JavaFX & SWT 5
H Swing [gelöst]Neues Swing Element erstellen AWT, Swing, JavaFX & SWT 4
D Problem an Parent Element ranzukommen. AWT, Swing, JavaFX & SWT 7
G JList und ein neues Element oben in der Liste einfügen AWT, Swing, JavaFX & SWT 4
ABstraCT JCombobox dynamisch füllen (erstes Element Problem) AWT, Swing, JavaFX & SWT 4
N JPopupMenu - ausgewähltes Element zurückgeben AWT, Swing, JavaFX & SWT 2
V Element zu Listenfeld hinzufügen AWT, Swing, JavaFX & SWT 6
S MouseListener zurückverfolgung auf element. AWT, Swing, JavaFX & SWT 7
zilti Swing-Element verändern AWT, Swing, JavaFX & SWT 13
N in jScrollPane, neues Swing Element hinzufügen AWT, Swing, JavaFX & SWT 6
M Zwei Element auf ein Contentpane AWT, Swing, JavaFX & SWT 45
G Listener (anonyme Klasse) jedem Element eines Array zuweisen AWT, Swing, JavaFX & SWT 5
V Wie heisst dieses GUI-Element? Gibt es sowas für Swing? AWT, Swing, JavaFX & SWT 10
E JTree selektiertes Element AWT, Swing, JavaFX & SWT 3
S Swing Element für Explorer-Fenster darstellung AWT, Swing, JavaFX & SWT 13
G JCombobox - Element richtig anzeigen AWT, Swing, JavaFX & SWT 5
W Element im JTree farblich markieren AWT, Swing, JavaFX & SWT 6
N JTree mehrere/ohne Root Element/e AWT, Swing, JavaFX & SWT 2
M JLIST - Ein Element selektieren und weiterverarbeiten! AWT, Swing, JavaFX & SWT 2
C leeres Element in Gridlayout einfuegen AWT, Swing, JavaFX & SWT 3
E Wie heißt dieses graphische Element (Bild inside)? AWT, Swing, JavaFX & SWT 2
G JTree. Neues Element hinzufügen und Selection beibehalten! AWT, Swing, JavaFX & SWT 3
bummerland auf übergeordnetes element zugreifen AWT, Swing, JavaFX & SWT 2
MiMa Optimieren einer Methode zum Zentrieren von Fenstern AWT, Swing, JavaFX & SWT 0
T VerifyListener - Ersetzen einer 0 AWT, Swing, JavaFX & SWT 5
I JavaFX JavaFx-Anwendung für die Erstellung einer Windows-Anwendung? AWT, Swing, JavaFX & SWT 6
J Drag und drop aus einer JTable - bitte um Unterstützung AWT, Swing, JavaFX & SWT 2
N Dropshadow setzen bei einer Gruppe von Tiles, die sich jeweils in einer Stackpane befinden, welche in einer Gridpane angeordnet sind. AWT, Swing, JavaFX & SWT 0
M Daten zufällig Einlesen aus einer Datei (binäres Format) AWT, Swing, JavaFX & SWT 7
ExceptionOfExpectation Mit einer laufenden GUI Applikation eine Datei in dem Rechner löschen AWT, Swing, JavaFX & SWT 2
Jose05 Aus einer normalen Java Klasse eine FXML-Klasse laden AWT, Swing, JavaFX & SWT 12
Linjutsu Den Inhalten aus einer ArrayList Bilder zuweisen (Kartenspiel) AWT, Swing, JavaFX & SWT 8
H JavaFX Timeline II: Verschieben einer ImageView AWT, Swing, JavaFX & SWT 16
I Hilfe bei dem Erstellen einer SQL Abfrage aus gewählten JComboBoxen AWT, Swing, JavaFX & SWT 5
L Swing TextPanel Schrift untereinander und auf einer Höhe AWT, Swing, JavaFX & SWT 3
mananana Mögliche probleme die in einer GUI passieren Können AWT, Swing, JavaFX & SWT 6
I JTable mit einem Button zu einer Detail Seite springen AWT, Swing, JavaFX & SWT 4
Ernesto95 JavaFX Return Value nach Beendigung einer Animation AWT, Swing, JavaFX & SWT 15
melaniemueller Wortliste in einer Datei ablegen AWT, Swing, JavaFX & SWT 12
D Layout einer scene mit ListView Elementen und Zwei Textfeldern AWT, Swing, JavaFX & SWT 1
Jose05 JavaFx Fxml: GUI aus einer anderen Klasse starten AWT, Swing, JavaFX & SWT 1
U Was genau ist das Objekt einer affinentransformation? AWT, Swing, JavaFX & SWT 1
B JavaFX Prüfen ob ein Objekt sich mehrmals in einer Liste befindet AWT, Swing, JavaFX & SWT 5
mac2010 JavaFX Einbindung einer Karte AWT, Swing, JavaFX & SWT 1
donnico2 Objekte in der GUI ausgeben mit Hilfe einer DAO AWT, Swing, JavaFX & SWT 1
Kohl Jedes Objekt einer JTable um ein Zeichen verkürzen AWT, Swing, JavaFX & SWT 7
W Aufrufen einer bestimmten Scene mit if-Bedingung AWT, Swing, JavaFX & SWT 4
J Ablaufsteuerung/Anleitung machen mit JDialog und einer Zustandsmaschine AWT, Swing, JavaFX & SWT 1
missy72 JavaFX Wiederholen einer IF-Abfrage beim erneuten Öffnen einer Stage AWT, Swing, JavaFX & SWT 11
missy72 JavaFX TableView / TableColumn / ObservableList / zwei Werte in einer Zelle AWT, Swing, JavaFX & SWT 2
S JavaFX - mit Listener Veränderungen in einer TableView abhören AWT, Swing, JavaFX & SWT 3
missy72 JavaFX ObservableList in einer ArrayList speichern. AWT, Swing, JavaFX & SWT 7
HoT Sortieren von ein paar Zeilen in einer Tabelle, aber nicht die ganze Tabelle AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben