All Downloads are FREE. Search and download functionalities are using the official Maven repository.

freeseawind.lf.basic.menu.LuckMenuUI Maven / Gradle / Ivy

The newest version!
package freeseawind.lf.basic.menu;

import java.awt.Dimension;

import javax.swing.Icon;
import javax.swing.JComponent;
import javax.swing.LookAndFeel;
import javax.swing.plaf.ComponentUI;
import javax.swing.plaf.basic.BasicMenuUI;

/**
 * 

* MenuUI实现类, 组件最小高度为20。 *

* *

* MenuUI implementation class, the menu minimum height of 20. *

* * @see LuckMenuUIBundle * * @author freeseawind@github * @version 1.0 * */ public class LuckMenuUI extends BasicMenuUI { public static ComponentUI createUI(JComponent x) { return new LuckMenuUI(); } public void installUI(JComponent c) { super.installUI(c); } protected void installDefaults() { super.installDefaults(); LookAndFeel.installProperty(menuItem, "opaque", Boolean.FALSE); } /** *

* 重写方法,设置菜单的最小高度为20, 否则会出现菜单项大小不一致的情况。 *

* *

* Rewrite method, set the minimum height of the menu is 20, otherwise the * menu item size will be inconsistent situation. *

*/ protected Dimension getPreferredMenuItemSize(JComponent c, Icon checkIcon, Icon arrowIcon, int defaultTextIconGap) { Dimension dimension = super.getPreferredMenuItemSize(c, checkIcon, arrowIcon, defaultTextIconGap); if (dimension != null && dimension.height < 20) { dimension.setSize(dimension.width, 20); } return dimension; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy