com.jidesoft.icons.MenuCheckIcon Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jide-oss Show documentation
Show all versions of jide-oss Show documentation
JIDE Common Layer (Professional Swing Components)
/*
* @(#)MenuCheckIcon.java 4/29/2009
*
* Copyright 2002 - 2009 JIDE Software Inc. All rights reserved.
*
*/
package com.jidesoft.icons;
import javax.swing.*;
import javax.swing.plaf.UIResource;
import java.io.Serializable;
import java.awt.*;
/**
* Icon wrapper class for check icons. The only thing this class does is to check the selection before it really paints
* its wrapped icon. The reason we provide this class is that similar mechanism resides in Swing and we cannot override it.
* So if we just update the UI with normal icons, the icon could be displayed unexpectedly. With this icon wrapper class,
* you can get exactly the same behavior with Swing default icons.
*/
public class MenuCheckIcon implements Icon, UIResource, Serializable {
private ImageIcon _icon;
private static final long serialVersionUID = -6303936713472505092L;
public MenuCheckIcon(ImageIcon icon) {
if (icon == null) {
throw new IllegalArgumentException("The icon should not be null.");
}
_icon = icon;
}
public int getIconHeight() {
return getIcon().getIconHeight();
}
public int getIconWidth() {
return getIcon().getIconWidth();
}
public void paintIcon(Component c, Graphics g, int x, int y) {
Icon icon = getIcon();
if (c instanceof AbstractButton) {
AbstractButton b = (AbstractButton) c;
if (b.isSelected()) {
icon.paintIcon(c, g, x, y);
}
}
}
private Icon getIcon() {
return _icon;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy