/** Creates the list that will display the data. */ protected JList createList () { JList list = new ListPane () { /** * Overrides JComponent's getToolTipText method in order to allow * renderer's tips to be used if it has text set. * @param event the MouseEvent that initiated the ToolTip display */ public String getToolTipText (MouseEvent event) { if (event != null) { Point p = event.getPoint (); int index = locationToIndex (p); if (index >= 0) { VisualizerNode v = (VisualizerNode)getModel().getElementAt(index); String tooltip = v.getShortDescription(); String displayName = v.getDisplayName (); if ((tooltip != null) && !tooltip.equals (displayName)) { return tooltip; } } } return null; } }; list.setCellRenderer (new NodeRenderer()); return list; }
boolean leaf, int row, boolean hasFocus ) { VisualizerNode vis = findVisualizerNode (value); configureFrom (renderer, tree, expanded, sel, vis);
/** User drags over us */ public void dragOver (DropTargetDragEvent dtde) { int index = indexWithCheck(dtde); if (index < 0) { dtde.rejectDrag(); if (lastIndex >= 0) { NodeRenderer.dragExit(); list.repaint(list.getCellBounds(lastIndex, lastIndex)); lastIndex = -1; } } else { dtde.acceptDrag(dtde.getDropAction()); if (lastIndex != index) { if (lastIndex < 0) lastIndex = index; NodeRenderer.dragExit(); NodeRenderer.dragEnter(list.getModel().getElementAt(index)); list.repaint(list.getCellBounds(lastIndex, index)); lastIndex = index; } } }
private void removeDropLine() { if( null != dropPane ) { dropPane.setDropLine(null); } if (lastNodeArea != null) { NodeRenderer.dragExit(); repaint(lastNodeArea); lastNodeArea = null; } }
NodeRenderer rend = new NodeRenderer(); tree.setCellRenderer(rend); tree.putClientProperty("JTree.lineStyle", "Angled"); // NOI18N tree.setEditable(true); tree.setInvokesStopCellEditing(true); int rowHeight = rend.getTreeCellRendererComponent(tree, null, false, false, false, 0, true).getPreferredSize().height; tree.setRowHeight(rowHeight); tree.setLargeModel(true);
/** User is starting to drag over us */ public void dragEnter (DropTargetDragEvent dtde) { lastIndex = indexWithCheck(dtde); if (lastIndex < 0) dtde.rejectDrag(); else { dtde.acceptDrag(dtde.getDropAction()); NodeRenderer.dragEnter( list.getModel().getElementAt(lastIndex)); list.repaint(list.getCellBounds(lastIndex, lastIndex)); } }
@Override public Component getTreeCellRendererComponent(JTree tree, Object value, boolean isSelected, boolean expanded, boolean leaf, int row, boolean hasFocus) { stringDisplayer = nodeRenderer.getTreeCellRendererComponent(tree, value, isSelected, expanded, leaf, row, hasFocus);
public Component getListCellRendererComponent(JList list, Object value, int index, boolean selected, boolean focused) { Component c = super.getListCellRendererComponent( list, value, index, selected, focused); if (c instanceof JComponent) { // Add our child indicator to the node renderer. // Testing if the value is a leaf is useless as the nodes // usually have non-leaf Children instances. Node node = Visualizer.findNode(value); boolean hasChildren = true; CountChildrenCookie ccc = (CountChildrenCookie) node.getCookie( CountChildrenCookie.class); if (ccc != null) { hasChildren = ccc.getChildCount() > 0; } ArrowBorder border = new ArrowBorder(hasChildren); JComponent jc = (JComponent) c; jc.setBorder(border); } if (c instanceof HtmlRenderer.Renderer) { // Prefer the ... over simply clipping the label. HtmlRenderer.Renderer hr = (HtmlRenderer.Renderer) c; hr.setRenderStyle(HtmlRenderer.STYLE_TRUNCATE); } return c; } }
private void removeDropLine () { dropPane.setDropLine (null); if (lastNodeArea != null) { NodeRenderer.dragExit(); repaint (lastNodeArea); lastNodeArea = null; } }
/** User is starting to drag over us */ public void dragEnter (DropTargetDragEvent dtde) { lastIndex = indexWithCheck(dtde); if (lastIndex < 0) dtde.rejectDrag(); else { dtde.acceptDrag(dtde.getDropAction()); NodeRenderer.dragEnter( list.getModel().getElementAt(lastIndex)); list.repaint(list.getCellBounds(lastIndex, lastIndex)); } }
/** Creates the list that will display the data. */ protected JList createList () { JList list = new ListPane () { /** * Overrides JComponent's getToolTipText method in order to allow * renderer's tips to be used if it has text set. * @param event the MouseEvent that initiated the ToolTip display */ public String getToolTipText (MouseEvent event) { if (event != null) { Point p = event.getPoint (); int index = locationToIndex (p); if (index >= 0) { VisualizerNode v = (VisualizerNode)getModel().getElementAt(index); String tooltip = v.getShortDescription(); String displayName = v.getDisplayName (); if ((tooltip != null) && !tooltip.equals (displayName)) { return tooltip; } } } return null; } }; list.setCellRenderer (new NodeRenderer()); return list; }
/** User drags over us */ public void dragOver (DropTargetDragEvent dtde) { int index = indexWithCheck(dtde); if (index < 0) { dtde.rejectDrag(); if (lastIndex >= 0) { NodeRenderer.dragExit(); list.repaint(list.getCellBounds(lastIndex, lastIndex)); lastIndex = -1; } } else { dtde.acceptDrag(dtde.getDropAction()); if (lastIndex != index) { if (lastIndex < 0) lastIndex = index; NodeRenderer.dragExit(); NodeRenderer.dragEnter(list.getModel().getElementAt(index)); list.repaint(list.getCellBounds(lastIndex, index)); lastIndex = index; } } }
boolean leaf, int row, boolean hasFocus ) { VisualizerNode vis = findVisualizerNode (value); configureFrom (renderer, tree, expanded, sel, vis);
private void removeDropLine () { dropPane.setDropLine (null); if (lastNodeArea != null) { NodeRenderer.dragExit(); repaint (lastNodeArea); lastNodeArea = null; } }
/** User is starting to drag over us */ public void dragEnter(DropTargetDragEvent dtde) { ExplorerDnDManager.getDefault().setMaybeExternalDragAndDrop( true ); int dropAction = ExplorerDnDManager.getDefault().getAdjustedDropAction( dtde.getDropAction(), view.getAllowedDropActions() ); lastIndex = indexWithCheck(dtde); if (lastIndex < 0) { dtde.rejectDrag(); } else { dtde.acceptDrag(dropAction); NodeRenderer.dragEnter(list.getModel().getElementAt(lastIndex)); list.repaint(list.getCellBounds(lastIndex, lastIndex)); } }
/** Creates the list that will display the data. */ protected JList createList () { JList list = new NbList (); list.setCellRenderer(new NodeRenderer()); return list; }
/** User drags over us */ public void dragOver(DropTargetDragEvent dtde) { ExplorerDnDManager.getDefault().setMaybeExternalDragAndDrop( true ); int dropAction = ExplorerDnDManager.getDefault().getAdjustedDropAction( dtde.getDropAction(), view.getAllowedDropActions() ); int index = indexWithCheck(dtde); if (index < 0) { dtde.rejectDrag(); if (lastIndex >= 0) { NodeRenderer.dragExit(); list.repaint(list.getCellBounds(lastIndex, lastIndex)); lastIndex = -1; } } else { dtde.acceptDrag(dropAction); if (lastIndex != index) { if (lastIndex < 0) { lastIndex = index; } NodeRenderer.dragExit(); NodeRenderer.dragEnter(list.getModel().getElementAt(index)); list.repaint(list.getCellBounds(lastIndex, index)); lastIndex = index; } } }
/** Finds the component that is capable of drawing the cell in a tree. * @param value value can be either <code>Node</code> * or a <code>VisualizerNode</code>. * @return component to draw the value */ @Override public Component getTreeCellRendererComponent( JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus ) { VisualizerNode vis = findVisualizerNode(value); if (vis == draggedOver) { sel = true; } String text = vis.getHtmlDisplayName(); boolean isHtml = text != null; if (!isHtml) { text = vis.getDisplayName(); } //Get our result value - really it is ren, but this call causes //it to configure itself with the passed values Component result = renderer.getTreeCellRendererComponent(tree, text, sel, expanded, leaf, row, hasFocus); result.setEnabled(tree.isEnabled()); renderer.setHtml(isHtml); //Do our additional configuration - set up the icon and possibly //do some hacks to make it look focused for TreeTableView configureFrom(renderer, tree, expanded, sel, vis); return result; }
/** User exits the dragging */ public void dragExit (DropTargetEvent dte) { if (lastIndex >= 0) { NodeRenderer.dragExit(); list.repaint(list.getCellBounds(lastIndex, lastIndex)); } }
/** Creates the list that will display the data. */ protected JList createList() { JList list = new NbList(); list.setCellRenderer(new NodeRenderer()); return list; }