Hauptklasse < /h5>
Code: Select all
import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class Main {
public static void main(String[] args) {
// JFRAME
JFrame frame = new JFrame();
frame.setTitle("Test App");
frame.setResizable(true);
frame.setSize(800,600);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
// JMENUBAR
CustomMenuBar menuBar = new CustomMenuBar();
menuBar.setColor(Color.BLUE);
// JMENU
JMenu menu = new JMenu("Language");
menu.setForeground(Color.pink);
// menu.addMenuListener();
// JMENUITEM
JMenuItem eng = new JMenuItem("English");
menu.add(eng);
menuBar.add(menu);
frame.setJMenuBar(menuBar);
frame.setVisible(true);
}
}
< /code>
benutzerdefinierte MENUBAR -Klasse < /h5>
import javax.swing.*;
import java.awt.*;
public class CustomMenuBar extends JMenuBar {
Color menuBarBgc = Color.RED;
public void setColor(Color color) {
menuBarBgc = color;
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
g2d.setColor(menuBarBgc);
g2d.fillRect(0,0,getWidth() -1, getHeight() -1);
}
}
< /code>
benutzerdefinierte MENU -Klasse < /h5>
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionListener;
public class CustomMenu extends JMenu {
Color menuBgc = Color.RED;
public void setColor(Color color) {
menuBgc = color;
// setOpaque(true);
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
g2d.setColor(menuBgc);
g2d.fillRect(0,0,getWidth() -1, getHeight() -1);
}
}
How the app looks like:

How it looks like after clicking the JMenu "Sprache":
Wie ich möchte, dass es aussieht (After Jmensu -Code> wurde geklickt. Darunter ist blau mit einem rosa Text, genau wie der JMenuuBar bevor Sie auf irgendetwas klicken):