Files
OAC-Swing/src/main/java/org/openautonomousconnection/oacswing/component/OACMenuItem.java

85 lines
1.9 KiB
Java
Raw Normal View History

2026-02-07 18:54:19 +01:00
/* Author: Maple
* Feb. 2 2026
* */
package org.openautonomousconnection.oacswing.component;
import lombok.NonNull;
import org.openautonomousconnection.oacswing.component.design.DesignManager;
2026-02-07 18:54:19 +01:00
import javax.swing.*;
import java.awt.*;
public class OACMenuItem extends JMenuItem implements OACComponent {
public OACMenuItem() {
super();
}
public OACMenuItem(Icon icon) {
super(icon);
}
public OACMenuItem(String text) {
super(text);
}
public OACMenuItem(Action a) {
super(a);
}
public OACMenuItem(String text, Icon icon) {
super(text, icon);
}
public OACMenuItem(String text, int mnemonic) {
super(text, mnemonic);
}
@Override
public void init() {
applyDesignColors();
setOpaque(true);
}
@Override
public void updateUI() {
super.updateUI();
applyDesignColors();
}
private void applyDesignColors() {
setBackground(DesignManager.resolveBackground(OACMenuItem.class, getBackground()));
setForeground(DesignManager.resolveForeground(OACMenuItem.class, getForeground()));
}
2026-02-07 18:54:19 +01:00
@Override
public Component add(Component comp) {
this.initOther(comp);
return super.add(comp);
}
@Override
public Component add(Component comp, int index) {
this.initOther(comp);
return super.add(comp, index);
}
@Override
public void add(@NonNull Component comp, Object constraints) {
2026-02-07 18:54:19 +01:00
this.initOther(comp);
super.add(comp, constraints);
}
@Override
public Component add(String name, Component comp) {
this.initOther(comp);
return super.add(name, comp);
}
@Override
public void add(Component comp, Object constraints, int index) {
this.initOther(comp);
super.add(comp, constraints, index);
}
}