package org.rr.commons.swing.components; import javax.swing.Icon; import javax.swing.JCheckBox; public class JRCheckBox extends JCheckBox { private Icon triStateIcon; private Icon defaultIcon; private boolean isTriState; public JRCheckBox() { super(); } public void setShowTriStateIcon(boolean triState) { if (triState) { // third state this.defaultIcon = getIcon(); if(triStateIcon != null) { setIcon(triStateIcon); } } else { //default if(defaultIcon == null) { this.defaultIcon = getIcon(); } setIcon(defaultIcon); } this.isTriState = triState; } public boolean isTriState() { return this.isTriState; } public Icon getTriStateIcon() { return triStateIcon; } public void setTriStateIcon(Icon triStateIcon) { this.triStateIcon = triStateIcon; } }