下面列出了javax.swing.tree.DefaultMutableTreeNode#preorderEnumeration ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
public InspectionComboModel(Collection<? extends HintMetadata> hints) {
DefaultMutableTreeNode root = (DefaultMutableTreeNode) constructTM(hints, false).getRoot();
Enumeration enumeration = root.preorderEnumeration();
hintsList = new ArrayList<Object>();
while (enumeration.hasMoreElements()) {
Object userObject = ((DefaultMutableTreeNode) enumeration.nextElement()).getUserObject();
if (userObject!=null)
hintsList.add(userObject);
}
if (getSize() > 0) {
selected = getElementAt(Math.min(getSize(), 1));
}
}
/**
* Given a node in the {@link JTree tree} finds all instructions below the given node.
*
* @param node The {@link DefaultMutableTreeNode node} which is the root of the sub tree where
* to collect all {@link INaviInstruction instructions}.
* @return The {@link INaviInstruction instructions} below the given
* {@link DefaultMutableTreeNode node}.
*/
private Set<INaviInstruction> findInstructions(final DefaultMutableTreeNode node) {
final Set<INaviInstruction> instructions = Sets.newHashSet();
Enumeration<?> enumeration = node.preorderEnumeration();
while (enumeration.hasMoreElements()) {
final DefaultMutableTreeNode currentNode =
(DefaultMutableTreeNode) enumeration.nextElement();
if (currentNode.isLeaf() && currentNode instanceof InstructionNode) {
instructions.add(((InstructionNode) currentNode).getInstruction());
}
}
return instructions;
}
public void reload() {
rows.clear();
DefaultMutableTreeNode rootNode =
(DefaultMutableTreeNode) tree.getModel().getRoot();
@SuppressWarnings("unchecked")
Enumeration<TreeNode> nodes = rootNode.preorderEnumeration();
for (int i = 0; nodes.hasMoreElements(); i++) {
rows.put(
i,
new TreePath(((DefaultMutableTreeNode) nodes.nextElement()).getPath()));
}
}
private void expandAll() {
DefaultMutableTreeNode root = (DefaultMutableTreeNode) tree.getModel()
.getRoot();
for (Enumeration enumeration = root.preorderEnumeration(); enumeration
.hasMoreElements();) {
DefaultMutableTreeNode node = (DefaultMutableTreeNode) enumeration
.nextElement();
if (node.getChildCount() != 0)
tree.expandPath(new TreePath(node.getPath()));
}
}
@Test
public void preorderIterator() {
final T tree = newTree(5, new Random(123));
final DefaultMutableTreeNode stree = newSwingTree(5, new Random(123));
final Iterator<T> treeIt = tree.preorderIterator();
final Enumeration<?> streeIt = stree.preorderEnumeration();
while (treeIt.hasNext()) {
final T node = treeIt.next();
final DefaultMutableTreeNode snode = (DefaultMutableTreeNode)streeIt.nextElement();
Assert.assertEquals(node.value(), snode.getUserObject());
}
}