home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 2000 March / pcp161a.iso / handson / files / copyjava.exe / com / sun / java / swing / tree / DefaultMutableTreeNode$BreadthFirstEnumeration.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-02-26  |  1.9 KB  |  39 lines

  1. package com.sun.java.swing.tree;
  2.  
  3. import java.util.Enumeration;
  4. import java.util.Vector;
  5.  
  6. final class DefaultMutableTreeNode$BreadthFirstEnumeration implements Enumeration {
  7.    // $FF: synthetic field
  8.    private final DefaultMutableTreeNode this$0;
  9.    protected DefaultMutableTreeNode.BreadthFirstEnumeration.Queue queue;
  10.  
  11.    public DefaultMutableTreeNode$BreadthFirstEnumeration(DefaultMutableTreeNode var1, TreeNode var2) {
  12.       this.this$0 = var1;
  13.       this.this$0 = var1;
  14.       Vector var3 = new Vector(1);
  15.       var3.addElement(var2);
  16.       this.queue = new DefaultMutableTreeNode.BreadthFirstEnumeration.Queue(this);
  17.       this.queue.enqueue(var3.elements());
  18.    }
  19.  
  20.    public boolean hasMoreElements() {
  21.       return !this.queue.isEmpty() && ((Enumeration)this.queue.firstObject()).hasMoreElements();
  22.    }
  23.  
  24.    public Object nextElement() {
  25.       Enumeration var1 = (Enumeration)this.queue.firstObject();
  26.       TreeNode var2 = (TreeNode)var1.nextElement();
  27.       Enumeration var3 = var2.children();
  28.       if (!var1.hasMoreElements()) {
  29.          this.queue.dequeue();
  30.       }
  31.  
  32.       if (var3.hasMoreElements()) {
  33.          this.queue.enqueue(var3);
  34.       }
  35.  
  36.       return var2;
  37.    }
  38. }
  39.