View Javadoc
1 package net.mlw.util.swing;
2
3 import java.awt.Component;
4 import java.awt.event.ActionEvent;
5 import java.awt.event.ActionListener;
6 import java.util.EventObject;
7
8 import javax.swing.JTree;
9 import javax.swing.event.CellEditorListener;
10 import javax.swing.event.ChangeEvent;
11 import javax.swing.tree.DefaultTreeCellRenderer;
12 import javax.swing.tree.TreeCellEditor;
13 import javax.swing.tree.TreeCellRenderer;
14
15 public class CheckTreeCellEditor extends CheckTreeCellRenderer implements TreeCellEditor, ActionListener
16 {
17 protected CellEditorListener list;
18
19 public CheckTreeCellEditor(JTree tree)
20 {
21 this(tree, new DefaultTreeCellRenderer());
22 }
23
24 public CheckTreeCellEditor(JTree tree, TreeCellRenderer renderer)
25 {
26 super(tree, renderer);
27 check.addActionListener(this);
28 }
29
30 public Component getTreeCellEditorComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row)
31 {
32 return getTreeCellRendererComponent(tree, value, true, expanded, leaf, row, true);
33 }
34
35 public boolean stopCellEditing()
36 {
37 return true;
38 }
39
40 public Object getCellEditorValue()
41 {
42 node.setSelected(check.isSelected());
43 return node;
44 }
45
46 public boolean isCellEditable(EventObject event)
47 {
48 return true;
49 }
50
51 public boolean shouldSelectCell(EventObject event)
52 {
53 return true;
54 }
55
56 public void cancelCellEditing()
57 {
58 fireEditingCanceled();
59 }
60
61 public void addCellEditorListener(CellEditorListener listener)
62 {
63 list = SwingEventMulticaster.add(list, listener);
64 }
65
66 public void removeCellEditorListener(CellEditorListener listener)
67 {
68 list = SwingEventMulticaster.remove(list, listener);
69 }
70
71 protected void fireEditingStopped()
72 {
73 if (list != null)
74 list.editingStopped(new ChangeEvent(this));
75 }
76
77 protected void fireEditingCanceled()
78 {
79 if (list != null)
80 list.editingCanceled(new ChangeEvent(this));
81 }
82
83 public void actionPerformed(ActionEvent event)
84 {
85 fireEditingStopped();
86 }
87 }
This page was automatically generated by Maven