Mega Code Archive

 
Categories / Java / Swing Components
 

ToolTip Tree Example

// Example from http://www.crionics.com/products/opensource/faq/swing_ex/SwingExamples.html import java.awt.BorderLayout; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTree; import javax.swing.UIManager; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.TreePath; /**  * @version 1.0 11/09/98  */ class ToolTipTreeNode extends DefaultMutableTreeNode {   private String toolTipText;   public ToolTipTreeNode(String str, String toolTipText) {     super(str);     this.toolTipText = toolTipText;   }   public String getToolTipText() {     return toolTipText;   } } public class ToolTipTreeExample extends JFrame {   public ToolTipTreeExample() {     super("ToolTipTreeExample");     String[][] strs = { { "swing", "boat" }, // 0         { "platf", "paltform" }, // 1         { "basic", "fortran" }, // 2         { "metal", "heavy" }, // 3         { "JTree", "three" } }; // 4     ToolTipTreeNode[] nodes = new ToolTipTreeNode[strs.length];     for (int i = 0; i < strs.length; i++) {       nodes[i] = new ToolTipTreeNode(strs[i][0], strs[i][1]);     }     nodes[0].add(nodes[1]);     nodes[1].add(nodes[2]);     nodes[1].add(nodes[3]);     nodes[0].add(nodes[4]);     JTree tree = new JTree(nodes[0]) {       public String getToolTipText(MouseEvent evt) {         if (getRowForLocation(evt.getX(), evt.getY()) == -1)           return null;         TreePath curPath = getPathForLocation(evt.getX(), evt.getY());         return ((ToolTipTreeNode) curPath.getLastPathComponent())             .getToolTipText();       }     };     tree.setToolTipText("");     JScrollPane sp = new JScrollPane(tree);     getContentPane().add(sp, BorderLayout.CENTER);   }   public static void main(String args[]) {     try {         UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");     } catch (Exception evt) {}        ToolTipTreeExample frame = new ToolTipTreeExample();     frame.addWindowListener(new WindowAdapter() {       public void windowClosing(WindowEvent e) {         System.exit(0);       }     });     frame.setSize(300, 150);     frame.setVisible(true);   } }