View Javadoc
1 package net.mlw.fball.gui; 2 3 import java.awt.BorderLayout; 4 import java.util.Iterator; 5 import java.util.List; 6 7 import javax.swing.Icon; 8 import javax.swing.ImageIcon; 9 import javax.swing.JPanel; 10 import javax.swing.JScrollPane; 11 import javax.swing.UIManager; 12 13 import net.mlw.fball.loader.Loader; 14 import net.mlw.fball.loader.LoaderGroup; 15 import net.mlw.util.swing.BasicTreeCellRenderer; 16 import net.mlw.util.swing.BasicTreeNode; 17 import net.mlw.util.swing.CheckTreeNode; 18 import net.mlw.util.swing.JCheckTree; 19 20 /*** 21 * @author Matthew L. Wilson 22 * @version $Revision: 1.2 $ $Date: 2004/03/17 14:20:22 $ 23 */ 24 public class ExecutionTreeMenu extends JPanel 25 { 26 public ExecutionTreeMenu() 27 { 28 initComponents(); 29 } 30 31 public void initComponents() 32 { 33 setLayout(new BorderLayout()); 34 35 LoaderGroup group = AppContext.getRootLoader(); 36 37 CheckTreeNode root = 38 new CheckTreeNode( 39 group.getName(), 40 new BasicTreeNode(AppContext.getMessage(group.getName()), UIManager.getIcon("Tree.openIcon"))); 41 42 buildTree(group.getLoaders(), root, UIManager.getIcon("Tree.closedIcon")); 43 44 JCheckTree tree = new JCheckTree(root); 45 tree.setCellRenderer(new BasicTreeCellRenderer()); 46 tree.setEditorRenderer(new BasicTreeCellRenderer()); 47 tree.setRootVisible(true); 48 tree.setShowsRootHandles(false); 49 add(BorderLayout.CENTER, new JScrollPane(tree)); 50 } 51 52 private void buildTree(List loaders, CheckTreeNode node, Icon icon) 53 { 54 for (Iterator iter = loaders.iterator(); iter.hasNext();) 55 { 56 Loader loader = (Loader) iter.next(); 57 58 if (loader instanceof LoaderGroup) 59 { 60 LoaderGroup loaderGroup = (LoaderGroup) loader; 61 Icon currentIcon = icon; 62 if (loaderGroup.getIcon() != null) 63 { 64 currentIcon = new ImageIcon(getClass().getClassLoader().getResource(loaderGroup.getIcon())); 65 } 66 CheckTreeNode currentNode = 67 new CheckTreeNode(loader.getName(), new BasicTreeNode(AppContext.getMessage(loader.getName()), currentIcon)); 68 node.add(currentNode); 69 buildTree(loaderGroup.getLoaders(), currentNode, currentIcon); 70 } 71 else 72 { 73 node.add(new CheckTreeNode(loader.getName(), new BasicTreeNode(AppContext.getMessage(loader.getName()), icon))); 74 } 75 76 } 77 } 78 }

This page was automatically generated by Maven