Swing Hintergrundfarbe von Submenüeinträgen setzen

Crian

Top Contributor
Ich habe in einer
Code:
JMenuBar
mehrere Menüs (Datei, Bearbeiten...) als
Code:
JMenu
. Bei diesen klappt das Einfärben per
Code:
.setBackground()
.

Nun habe ich bei einigen aber wiederum Untermenüs. Dort wird nur die Vordergrundfarbe gesetzt, die Hintergrundfarbe bleibt auf der Standardfarbe.

Was mache ich falsch?

Bei Bedarf kann ich auch versuchen, ein kleines Beispiel zu basteln, aber vielleicht löst sich das ja schon so.
 
G

Gast2

Gast
Du müsstest die Menüeinträge auf opaque setzen glaub ich. Ansonsten bau mal nen KSKB.
 

Crian

Top Contributor
[EDIT]Ein
Java:
        subMenu.setOpaque(true);
in Zeile 103 brachte die Lösung. Danke![/EDIT]

Hier ist das Beispiel, ich poste es und teste dann gleich mal:

Java:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Event;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.KeyStroke;

public class MenuColoringExample {

    public static void main(String[] args) {
        new MenuColoringExample();

    }

    private Color foregroundColor;
    private Color backgroundColor;
    private JFrame frame;

    public MenuColoringExample() {
        foregroundColor  = Color.GREEN;
        backgroundColor  = Color.RED;
        createGui();
        createMenu();
        startGui();
    }

    private void createGui() {
        JFrame frame = new JFrame("Beispiel");
        this.frame = frame;
        frame.setLocation(100, 100);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLayout(new BorderLayout());

        JPanel panel = new JPanel();
        Dimension dimension = new Dimension(800, 600);
        panel.setPreferredSize(dimension);
        panel.setMinimumSize(dimension);
        panel.setBackground(Color.WHITE);
        frame.add(panel, BorderLayout.CENTER);
    }

    private void createMenu() {
        JMenuBar menuBar = new JMenuBar();
        menuBar.setForeground(foregroundColor);
        menuBar.setBackground(backgroundColor);
        frame.setJMenuBar(menuBar);

        createTheFileMenu(menuBar);
    }

    private void createTheFileMenu(JMenuBar menuBar) {
        JMenu fileMenu = new JMenu("Datei");
        fileMenu.setForeground(foregroundColor);
        fileMenu.setBackground(backgroundColor);
        fileMenu.setMnemonic('d');
        menuBar.add(fileMenu);

        {
            JMenuItem someMenuItem = new JMenuItem("Irgendwas", 'i');
            someMenuItem.setAccelerator(KeyStroke.getKeyStroke('I',
                    Event.CTRL_MASK));
            someMenuItem.setForeground(foregroundColor);
            someMenuItem.setBackground(backgroundColor);
            fileMenu.add(someMenuItem);
        }

        fileMenu.addSeparator();

        createSubMenu(fileMenu);

        fileMenu.addSeparator();

        {
            JMenuItem exitMenuItem = new JMenuItem("Programm beenden", 'b');
            exitMenuItem.setAccelerator(KeyStroke.getKeyStroke(
                    KeyEvent.VK_F4, Event.ALT_MASK));
            exitMenuItem.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent arg0) {
                    frame.dispose();
                }
            });
            exitMenuItem.setForeground(foregroundColor);
            exitMenuItem.setBackground(backgroundColor);
            fileMenu.add(exitMenuItem);
        }
    }

    private void createSubMenu(JMenu superMenu) {
        JMenu subMenu = new JMenu("Datei");
        subMenu.setForeground(foregroundColor);
        subMenu.setBackground(backgroundColor);
        subMenu.setMnemonic('d');
        superMenu.add(subMenu);

        {
            JMenuItem newMenuItem = new JMenuItem("Irgendwas", 'i');
            newMenuItem.setForeground(foregroundColor);
            newMenuItem.setBackground(backgroundColor);
            subMenu.add(newMenuItem);
        }
    }

    private void startGui() {
        frame.pack();
        frame.setVisible(true);
    }

}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Swing JTable cellRenderer mit jpg Hintergrundfarbe lässt sich nicht ändern. AWT, Swing, JavaFX & SWT 1
E Hintergrundfarbe setzen in JPanel funktioneirt nicht AWT, Swing, JavaFX & SWT 4
E JavaFX SplitMenuButton Hintergrundfarbe AWT, Swing, JavaFX & SWT 1
E Swing Miserable Performance beim Ändern der Hintergrundfarbe von JLabels AWT, Swing, JavaFX & SWT 3
D Hintergrundfarbe AWT, Swing, JavaFX & SWT 6
C JavaFx TabelView - hintergrundfarbe möglich? AWT, Swing, JavaFX & SWT 1
S Swing Probleme mit transparenz der Hintergrundfarbe und JRadioButtons AWT, Swing, JavaFX & SWT 2
M JavaFX MenuItem Hintergrundfarbe in CSS AWT, Swing, JavaFX & SWT 4
A JButtons - es wird beim falschen Button die Hintergrundfarbe angepasst AWT, Swing, JavaFX & SWT 2
M JComboBox Hintergrundfarbe des gewählten Items AWT, Swing, JavaFX & SWT 3
S Swing Hintergrundfarbe ändern AWT, Swing, JavaFX & SWT 9
R Swing Hintergrundfarbe der Zelle in einer JTable bei Markierung AWT, Swing, JavaFX & SWT 2
K Hintergrundfarbe des Frames ändern AWT, Swing, JavaFX & SWT 4
M Swing JTree: Wie kann ich die Hintergrundfarbe der selection ändern?!?! AWT, Swing, JavaFX & SWT 7
W Swing Hintergrundfarbe ändern AWT, Swing, JavaFX & SWT 4
S JTable Hintergrundfarbe AWT, Swing, JavaFX & SWT 5
M Hover-Farbe über Hintergrundfarbe legen AWT, Swing, JavaFX & SWT 3
B Hintergrundfarbe der JComboBox AWT, Swing, JavaFX & SWT 3
Shanks Hintergrundfarbe durch Button click ändern ?? AWT, Swing, JavaFX & SWT 6
A Hintergrundfarbe eines Applets ändern AWT, Swing, JavaFX & SWT 2
Psypsy Swing Jpanel Hintergrundfarbe ändern AWT, Swing, JavaFX & SWT 10
E Hintergrundfarbe wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
S Hintergrundfarbe in JToolbar nicht angezeigt AWT, Swing, JavaFX & SWT 2
P Swing Hintergrundfarbe auslesen und wieder setzen AWT, Swing, JavaFX & SWT 4
J Hintergrundfarbe von CheckBoxen in einer JTable AWT, Swing, JavaFX & SWT 4
E Swing JComboBox Hintergrundfarbe AWT, Swing, JavaFX & SWT 6
R Hintergrundfarbe vom Fenster AWT, Swing, JavaFX & SWT 2
M Hintergrundfarbe ändern AWT, Swing, JavaFX & SWT 5
M AWT Hintergrundfarbe zuweisen AWT, Swing, JavaFX & SWT 6
T einzelne Zelle einer JTable auswählen und Hintergrundfarbe ändern AWT, Swing, JavaFX & SWT 2
calzone JTable und Hintergrundfarbe AWT, Swing, JavaFX & SWT 12
G Hintergrundfarbe eines JPanels zurücksetzen AWT, Swing, JavaFX & SWT 12
G JToggleButton - Hintergrundfarbe beim Drücken festlegen AWT, Swing, JavaFX & SWT 4
S Hintergrundfarbe in einer Spalte der JTable verändern AWT, Swing, JavaFX & SWT 3
G JTextArea - Hintergrundfarbe? AWT, Swing, JavaFX & SWT 5
hdi Hintergrundfarbe von Label AWT, Swing, JavaFX & SWT 2
T Warum nehmen diese Labels die Hintergrundfarbe nicht an? AWT, Swing, JavaFX & SWT 6
D Browser -> Hintergrundfarbe AWT, Swing, JavaFX & SWT 11
T jtree Hintergrundfarbe für ganze Zeile AWT, Swing, JavaFX & SWT 2
S Hintergrundfarbe eines JFrames ändern AWT, Swing, JavaFX & SWT 2
C Hintergrundfarbe von einem disabled Button ändern ? AWT, Swing, JavaFX & SWT 7
R JTable Hintergrundfarbe ändern AWT, Swing, JavaFX & SWT 7
foobar Hintergrundfarbe eines JMenus ändern AWT, Swing, JavaFX & SWT 2
O Hintergrundfarbe beim ToolTip AWT, Swing, JavaFX & SWT 5
J [Newbie] Hintergrundfarbe ändern AWT, Swing, JavaFX & SWT 2
J JTabbedPane Hintergrundfarbe Problem AWT, Swing, JavaFX & SWT 8
S Hintergrundfarbe für JFrame AWT, Swing, JavaFX & SWT 6
I Hintergrundfarbe beim JLabel AWT, Swing, JavaFX & SWT 3
G JList: Hintergrundfarbe eines Eintrags AWT, Swing, JavaFX & SWT 5
Juelin setzen background color für selected Row im Tableview AWT, Swing, JavaFX & SWT 21
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
S TableCellRender - Zelle auf editier-/anklickbar setzen AWT, Swing, JavaFX & SWT 5
berserkerdq2 Anchorpane warum kann ich nicht Anchors setzen AWT, Swing, JavaFX & SWT 6
_user_q ThreadPool schedule Wert auf false setzen AWT, Swing, JavaFX & SWT 1
E verschiedene Cursor setzen AWT, Swing, JavaFX & SWT 1
izoards Bild ausdrucken - PageFormat setzen geht nicht AWT, Swing, JavaFX & SWT 5
izoards *.doc Seitenränder per Java setzen... AWT, Swing, JavaFX & SWT 14
G Button Strings Effektiver setzen AWT, Swing, JavaFX & SWT 3
W Bounds setzen AWT, Swing, JavaFX & SWT 1
CptK Fokus auf geöffnetes Zweit-Fenster setzen und Eingaben außerhalb blocken AWT, Swing, JavaFX & SWT 2
HoT Einzelne Zelle in JTable Rahmen unten setzen AWT, Swing, JavaFX & SWT 24
B JavaFX TextInputDialog: Focus auf Eingabefeldinhalt setzen und nach OK Inhalt leeren AWT, Swing, JavaFX & SWT 5
L JavaFX TableColumns mit CellFactory setzen AWT, Swing, JavaFX & SWT 9
J Standardwert in Choicebox setzen ? AWT, Swing, JavaFX & SWT 0
C Kleineres Bild an bestimmte Koordinaten setzen AWT, Swing, JavaFX & SWT 6
T Setzen von der Schriftgröße bei einem Shell AWT, Swing, JavaFX & SWT 15
ralfb1105 JavaFX Wie Text Label in neuem Window von Main Stage setzen? AWT, Swing, JavaFX & SWT 6
K Swing DefaultListModel braucht zu lange, um Wert zu setzen AWT, Swing, JavaFX & SWT 7
L JavaFX Fehler beim setzen von Farben AWT, Swing, JavaFX & SWT 16
D JavaFX ComboBox String setzen AWT, Swing, JavaFX & SWT 20
S JButtons an Koordinaten setzen AWT, Swing, JavaFX & SWT 3
J Java FX Koordinaten NACH Animation setzen, wie? AWT, Swing, JavaFX & SWT 9
F Icons neben Text in Listview setzen AWT, Swing, JavaFX & SWT 2
C JavaFX Tief setzen in der Überschrift einer Tabellenspalte AWT, Swing, JavaFX & SWT 3
Thallius JScrollPane Scrollpos setzen nach Neuzeichnen AWT, Swing, JavaFX & SWT 3
N JButton über benutzerdefinierte paintComponent setzen AWT, Swing, JavaFX & SWT 3
M Text in einem Label fett setzen AWT, Swing, JavaFX & SWT 4
J JLabel Visible setzen in KeyListener AWT, Swing, JavaFX & SWT 13
S JLabel-Text in Methode setzen? AWT, Swing, JavaFX & SWT 2
F JScrollPane Position setzen (x=0, y=0) AWT, Swing, JavaFX & SWT 2
wolfgang63 JavaFX von controllerclass primarystage Titel setzen AWT, Swing, JavaFX & SWT 4
F Setzen des LookAndFeel AWT, Swing, JavaFX & SWT 4
M Swing Shapes setzen AWT, Swing, JavaFX & SWT 4
J Event Handling JOptionPane ActionListener setzen. AWT, Swing, JavaFX & SWT 3
C Swing BufferedImage zeichnen und JLabels setzen. AWT, Swing, JavaFX & SWT 17
W JTextfield - Wert lässt sich nicht setzen AWT, Swing, JavaFX & SWT 3
H JavaFX GridPane: Zellenfarbe setzen AWT, Swing, JavaFX & SWT 9
B Swing JMenuBar unten in der Frame setzen? AWT, Swing, JavaFX & SWT 15
U Tooltip Dauer setzen AWT, Swing, JavaFX & SWT 0
A JTable schreibschutz setzen bzw. aufheben AWT, Swing, JavaFX & SWT 2
TheWhiteShadow SWT Dialog Titel setzen AWT, Swing, JavaFX & SWT 6
R SWT TreeViewer neuen Input setzen AWT, Swing, JavaFX & SWT 3
Kenan89 Java FX ScrollPane Content mittig setzen AWT, Swing, JavaFX & SWT 5
B Swing Fokus auf JPanel setzen AWT, Swing, JavaFX & SWT 2
A HELP: JFieldText dynamisch setzen -> langsam AWT, Swing, JavaFX & SWT 19
P jTable model setzen AWT, Swing, JavaFX & SWT 6
J Swing JInternalFrame modal setzen? AWT, Swing, JavaFX & SWT 13
J Swing JMenuItem auf setEnabled(false) setzen? AWT, Swing, JavaFX & SWT 3
S Swing Setzen von TableModel liefert NullPointer AWT, Swing, JavaFX & SWT 6
I LookAndFeel setzen AWT, Swing, JavaFX & SWT 17

Ähnliche Java Themen

Neue Themen


Oben