or());
checkBox.setPreferredSize(new Dimension(18, 18));
checkBox.setBorderPainted(false);
checkBox.setBackground(getBackgroundNonSelectionColor());
label.setBackground(getBackgroundNonSelectionColor());
panel.setBackground(getBackgroundNonSelectionColor());
panel.add(checkBox);
panel.add(label);
}
public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded,
boolean leaf, int row, boolean hasFocus)
{
if (value instanceof DefaultMutableTreeNode)
{
Object obj = ( (DefaultMutableTreeNode) value).getUserObject();
if (obj instanceof FilterTreeCell)
{
FilterTreeCell cell = (FilterTreeCell) obj;
label.setText(cell.getFilterObject().toString());
int state = cell.getState();
switch (state)
{
case FilterTreeCell.NONE_SELECT:
checkBox.setSelected(false);
checkBox.setIcon(noneSelectIcon);
break;
case FilterTreeCell.PART_SELECT:
checkBox.setSelected(false);
checkBox.setIcon(partSelectIcon);
break;
case FilterTreeCell.ALL_SELECT:
checkBox.setSelected(true);
checkBox.setIcon(allSelectIcon);
break;
}
label.setEnabled(tree.isEnabled());
if (selected)
{
panel.setBackground(getBackgroundSelectionColor());
label.setForeground(getTextSelectionColor());
}
else
{
panel.setBackground(getBackgroundNonSelectionColor());
label.setForeground(getTextNonSelectionColor());
}
panel.setComponentOrientation(tree.getComponentOrientation());
return panel;
}
}
return super.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus);
}
}