- package org.jr.swing.tree;
-
- import java.util.*;
- import javax.swing.tree.*;
-
- public class CheckNode extends DefaultMutableTreeNode {
-
- public final static int SINGLE_SELECTION = 0;
- public final static int CHILD_ALSO_SELECTION = 1;
- protected int selectionMode;
- protected boolean isSelected;
-
- public CheckNode() {
- this(null,true,false);
- }
-
- public CheckNode(Object userObject) {
- this(userObject, true, false);
- }
-
- public CheckNode(Object userObject, boolean allowsChildren
- , boolean isSelected) {
- super(userObject, allowsChildren);
- this.isSelected = isSelected;
- setSelectionMode(CHILD_ALSO_SELECTION);
- }
-
-
- public void setSelectionMode(int mode) {
- selectionMode = mode;
- }
-
- public int getSelectionMode() {
- return selectionMode;
- }
-
- public void setSelected(boolean isSelected) {
- this.isSelected = isSelected;
-
- if ((selectionMode == CHILD_ALSO_SELECTION)
- && (children != null)) {
- Enumeration enum = children.elements();
- while (enum.hasMoreElements()) {
- CheckNode node = (CheckNode)enum.nextElement();
- node.setSelected(isSelected);
- }
- }
- }
-
- public boolean isSelected() {
- return isSelected;
- }
-
-
- public void setUserObject(Object obj) {
- if (obj instanceof Boolean) {
- setSelected(((Boolean)obj).booleanValue());
- } else {
- super.setUserObject(obj);
- }
- }
-
- }
-
-