85 lines
1.9 KiB
Java
85 lines
1.9 KiB
Java
/* Author: Maple
|
|
* Feb. 2 2026
|
|
* */
|
|
|
|
package org.openautonomousconnection.oacswing.component;
|
|
|
|
import lombok.NonNull;
|
|
import org.openautonomousconnection.oacswing.component.design.DesignManager;
|
|
|
|
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()));
|
|
}
|
|
|
|
@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) {
|
|
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);
|
|
}
|
|
}
|