|
32 | 32 | import javax.swing.*; |
33 | 33 | import javax.swing.tree.DefaultMutableTreeNode; |
34 | 34 | import javax.swing.tree.DefaultTreeCellRenderer; |
| 35 | +import javax.swing.tree.TreeCellRenderer; |
35 | 36 | import javax.swing.tree.TreePath; |
36 | 37 | import javax.xml.parsers.ParserConfigurationException; |
37 | 38 | import java.awt.*; |
38 | 39 | import java.awt.event.KeyAdapter; |
39 | 40 | import java.awt.event.KeyEvent; |
40 | 41 | import java.awt.event.MouseEvent; |
| 42 | +import java.awt.event.*; |
41 | 43 | import java.io.IOException; |
42 | 44 | import java.util.ArrayList; |
43 | 45 | import java.util.HashMap; |
@@ -220,6 +222,33 @@ public static Tree buildTree(Project project, Color backgroundColor) { |
220 | 222 | } |
221 | 223 | }); |
222 | 224 |
|
| 225 | + tree.addMouseMotionListener(new MouseMotionAdapter() { |
| 226 | + private String currentTooltipText = null; |
| 227 | + |
| 228 | + @Override |
| 229 | + public void mouseMoved(MouseEvent e) { |
| 230 | + super.mouseMoved(e); |
| 231 | + |
| 232 | + TreePath path = tree.getPathForLocation(e.getX(), e.getY()); |
| 233 | + if (path == null ) { |
| 234 | + if (currentTooltipText != null) { |
| 235 | + tree.setToolTipText(null); |
| 236 | + currentTooltipText = null; |
| 237 | + } |
| 238 | + } else { |
| 239 | + Object node = path.getLastPathComponent(); |
| 240 | + if (node instanceof LibertyModuleNode) { |
| 241 | + LibertyModuleNode treeNode = (LibertyModuleNode) node; |
| 242 | + String tooltipText = getBuildPath(treeNode); |
| 243 | + if (!tooltipText.equals(currentTooltipText)) { |
| 244 | + tree.setToolTipText(tooltipText); |
| 245 | + currentTooltipText = tooltipText; |
| 246 | + } |
| 247 | + } |
| 248 | + } |
| 249 | + } |
| 250 | + }); |
| 251 | + |
223 | 252 | tree.addMouseListener(new PopupHandler() { |
224 | 253 | @Override |
225 | 254 | public void invokePopup(Component comp, int x, int y) { |
@@ -308,7 +337,6 @@ public Component getTreeCellRendererComponent( |
308 | 337 | /** |
309 | 338 | * modification to get tooltiptext for liberty module tree |
310 | 339 | */ |
311 | | - tree.setToolTipText(getBuildPath(value)); |
312 | 340 | super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus); |
313 | 341 | // assign gear icon to action nodes |
314 | 342 | if (leaf) { |
|
0 commit comments