Swing Element einer JComboBox ausgrauen

kodela

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

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

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:

ListCellRenderer renderer = new ComplexCellRenderer();:

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

levelBox.setRenderer(renderer);:

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
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
S JavaFX - mit Listener Veränderungen in einer TableView abhören AWT, Swing, JavaFX & SWT 3
M 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
B JavaFX Farbe eines Quadrates in einer separaten Klasse ändern AWT, Swing, JavaFX & SWT 4
H Daten aus einer XML(x83-Datei) in einem JFrame anzeigen lassen AWT, Swing, JavaFX & SWT 9
N Aufruf einer anderen Klasse durch Button ActionListener AWT, Swing, JavaFX & SWT 2
N Einer TextArea ein ScrollPane hinzufügen AWT, Swing, JavaFX & SWT 8
L JavaFX Exception nach includieren einer fxml // nested controller AWT, Swing, JavaFX & SWT 1
K Probleme bei der Erstellung und Ausführung einer Jar Datei AWT, Swing, JavaFX & SWT 2
A checkbox in einer TableView abhängig von einem anderen Celleninhalt disablen AWT, Swing, JavaFX & SWT 1
G Verknüpfung einer pdf Datei AWT, Swing, JavaFX & SWT 2
B Ausgaben einer Umrechnung vom Textfeld in ein Label AWT, Swing, JavaFX & SWT 2
F jTree und das Model aus einer eigenen Klasse AWT, Swing, JavaFX & SWT 1
D Zeilenumbruch in einer JTable AWT, Swing, JavaFX & SWT 9
N Wie kann ich zwei Grafiken in einer Oberfläche anzeigen lassen? AWT, Swing, JavaFX & SWT 8
@SupressWarnings() JavaFX Auf den Controller einer ListCell zugreifen AWT, Swing, JavaFX & SWT 4
Drachenbauer Swing Wie ändere ich den Hintergrund vom Anzeigefeld einer JComboBox, die nicht zum Hineinschreiben offen steht? AWT, Swing, JavaFX & SWT 32
H 3 verschiedene Nachrichten in einer FXML View die Infos kommen aus DB AWT, Swing, JavaFX & SWT 4
karlmasutra JavaFX Zugriff auf eine erzeugte Scene aus einer anderen Klasse AWT, Swing, JavaFX & SWT 1
S Java GUI durch variable Größe einer Map anpassen AWT, Swing, JavaFX & SWT 3
B Textfelder in einer ListView ausgeben AWT, Swing, JavaFX & SWT 13
J Searchfunktion auf einer MS Access Datenbank AWT, Swing, JavaFX & SWT 7
B Text im Tetfeld in einer TableView darstellen AWT, Swing, JavaFX & SWT 20
M Inhalte einer FlowPane AWT, Swing, JavaFX & SWT 4
W Swing JTable Zeilenumbruch innerhalb einer Zelle AWT, Swing, JavaFX & SWT 3
E Prinzip: wie man Ereignisse in einer GUI verarbeit. Frage zum Design? AWT, Swing, JavaFX & SWT 10
FRI3ND JavaFX: Wie kann ich einer Scene Argumente übergeben? AWT, Swing, JavaFX & SWT 14
K Swing Text eines Lables in einer Methode ändern AWT, Swing, JavaFX & SWT 13
G JavaFX JavaFX-Dialog aus einer Nicht-JavaFX-Anwendung heraus AWT, Swing, JavaFX & SWT 1
1 Swing Progressbar benutzen um Fortschritt einer Methode anzuzeigen AWT, Swing, JavaFX & SWT 4
K JavaFX ViewTable mit einer LinkedList befüllen AWT, Swing, JavaFX & SWT 3
L CardLayout in einer Klasse? AWT, Swing, JavaFX & SWT 2
J Compiler in der JavaFX stop() Methode warten lassen bist eine Aktion in einer anderen Scene gemacht AWT, Swing, JavaFX & SWT 5
D Java FX Image in einer Webanwendung annotieren und den Bereich ausschneiden AWT, Swing, JavaFX & SWT 0
L Java- UI zweites Fenster aus einer anderen Klasse öffnen durch ButtonClick AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Anzeige

Neue Themen


Oben