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