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);
}
}