⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 defaulttreecelleditor.java

📁 gcc的组建
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
          renderer.setIcon(renderer.getClosedIcon());        editingIcon = renderer.getIcon();        editingComponent = getTreeCellEditorComponent(tree, val, true,                                                      expanded, isLeaf, lastRow);      }  }    /**   * writeObject   *    * @param value0   *          TODO   * @exception IOException   *              TODO   */  private void writeObject(ObjectOutputStream value0) throws IOException  {    // TODO  }  /**   * readObject   * @param value0 TODO   * @exception IOException TODO   * @exception ClassNotFoundException TODO   */  private void readObject(ObjectInputStream value0)    throws IOException, ClassNotFoundException  {    // TODO  }  /**   * Sets the color to use for the border.   * @param newColor - the new border color   */  public void setBorderSelectionColor(Color newColor)  {    this.borderSelectionColor = newColor;  }  /**   * Returns the color the border is drawn.   * @return Color   */  public Color getBorderSelectionColor()  {    return borderSelectionColor;  }  /**   * Sets the font to edit with. null indicates the renderers    * font should be used. This will NOT override any font you have    * set in the editor the receiver was instantied with. If null for    * an editor was passed in, a default editor will be created that    * will pick up this font.   *    * @param font - the editing Font   */  public void setFont(Font font)  {    if (font != null)      this.font = font;    else      this.font = renderer.getFont();  }  /**   * Gets the font used for editing.   *    * @return the editing font   */  public Font getFont()  {    return font;  }  /**   * Configures the editor. Passed onto the realEditor.   * Sets an initial value for the editor. This will cause    * the editor to stopEditing and lose any partially edited value    * if the editor is editing when this method is called.    * Returns the component that should be added to the client's Component    * hierarchy. Once installed in the client's hierarchy this component will    * then be able to draw and receive user input.    *    * @param tree - the JTree that is asking the editor to edit; this parameter can be null   * @param value - the value of the cell to be edited   * @param isSelected - true is the cell is to be rendered with selection highlighting   * @param expanded - true if the node is expanded   * @param leaf - true if the node is a leaf node   * @param row - the row index of the node being edited   *    * @return the component for editing   */  public Component getTreeCellEditorComponent(JTree tree, Object value,                                              boolean isSelected, boolean expanded,                                              boolean leaf, int row)  {    if (realEditor == null)      createTreeCellEditor();    return realEditor.getTreeCellEditorComponent(tree, value, isSelected,                                                        expanded, leaf, row);  }  /**   * Returns the value currently being edited.   *    * @return the value currently being edited   */  public Object getCellEditorValue()  {    return editingComponent;  }    /**   * If the realEditor returns true to this message, prepareForEditing     * is messaged and true is returned.   *    * @param event - the event the editor should use to consider whether to begin editing or not   * @return true if editing can be started   */  public boolean isCellEditable(EventObject event)  {     if (editingComponent == null)        configureEditingComponent(tree, renderer, realEditor);        if (editingComponent != null && realEditor.isCellEditable(event))      {        prepareForEditing();        return true;      }        // Cell may not be currently editable, but may need to start timer.    if (shouldStartEditingTimer(event))      startEditingTimer();    else if (timer.isRunning())      timer.stop();    return false;  }  /**   * Messages the realEditor for the return value.   *    * @param event -   *          the event the editor should use to start editing   * @return true if the editor would like the editing cell to be selected;   *         otherwise returns false   */  public boolean shouldSelectCell(EventObject event)  {    return true;  }  /**   * If the realEditor will allow editing to stop, the realEditor   * is removed and true is returned, otherwise false is returned.   * @return true if editing was stopped; false otherwise   */  public boolean stopCellEditing()  {    if (editingComponent != null && realEditor.stopCellEditing())      {        timer.stop();        return true;      }    return false;  }  /**   * Messages cancelCellEditing to the realEditor and removes it   * from this instance.   */  public void cancelCellEditing()  {    if (editingComponent != null)      {        timer.stop();        realEditor.cancelCellEditing();      }  }  /**   * Adds a <code>CellEditorListener</code> object to this editor.   *   * @param listener the listener to add   */  public void addCellEditorListener(CellEditorListener listener)  {    realEditor.addCellEditorListener(listener);  }  /**   * Removes a <code>CellEditorListener</code> object.   *   * @param listener the listener to remove   */  public void removeCellEditorListener(CellEditorListener listener)  {    realEditor.removeCellEditorListener(listener);  }  /**   * Returns all added <code>CellEditorListener</code> objects to this editor.   *   * @return an array of listeners   *   * @since 1.4   */  public CellEditorListener[] getCellEditorListeners()  {    return (CellEditorListener[]) listenerList.getListeners(CellEditorListener.class);  }  /**   * Resets lastPath.   *    * @param e - the event that characterizes the change.   */  public void valueChanged(TreeSelectionEvent e)  {    tPath = lastPath;    lastPath = e.getNewLeadSelectionPath();    lastRow = tree.getRowForPath(lastPath);    configureEditingComponent(tree, renderer, realEditor);  }    /**   * Messaged when the timer fires, this will start the editing session.   *    * @param e the event that characterizes the action.   */  public void actionPerformed(ActionEvent e)  {    if (lastPath != null && tPath != null && tPath.equals(lastPath))      {        tree.startEditingAtPath(lastPath);        timer.stop();      }  }  /**   * Sets the tree currently editing for. This is needed to add a selection   * listener.   *    * @param newTree -   *          the new tree to be edited   */  protected void setTree(JTree newTree)  {    tree = newTree;  }  /**   * Returns true if event is a MouseEvent and the click count is 1.   *    * @param event - the event being studied   * @return true if editing should start   */  protected boolean shouldStartEditingTimer(EventObject event)  {    if ((event instanceof MouseEvent) &&         ((MouseEvent) event).getClickCount() == 1)      return true;    return false;  }  /**   * Starts the editing timer.   */  protected void startEditingTimer()  {    if (timer == null)      timer = new javax.swing.Timer(1200, this);    if (!timer.isRunning())      timer.start();  }  /**   * Returns true if event is null, or it is a MouseEvent with    * a click count > 2 and inHitRegion returns true.   *    * @param event - the event being studied   * @return true if event is null, or it is a MouseEvent with    * a click count > 2 and inHitRegion returns true    */  protected boolean canEditImmediately(EventObject event)  {    if (event == null || !(event instanceof MouseEvent) || (((MouseEvent) event).        getClickCount() > 2 && inHitRegion(((MouseEvent) event).getX(),                                          ((MouseEvent) event).getY())))      return true;    return false;  }  /**   * Returns true if the passed in location is a valid mouse location    * to start editing from. This is implemented to return false if x is   * less than or equal to the width of the icon and icon    * gap displayed by the renderer. In other words this returns true if    * the user clicks over the text part displayed by the renderer, and    * false otherwise.   *    * @param x - the x-coordinate of the point   * @param y - the y-coordinate of the point   *    * @return true if the passed in location is a valid mouse location   */  protected boolean inHitRegion(int x, int y)  {    Rectangle bounds = tree.getPathBounds(lastPath);        return bounds.contains(x, y);  }  /**   * determineOffset   * @param tree -   * @param value -    * @param isSelected -    * @param expanded -    * @param leaf -    * @param row -    */  protected void determineOffset(JTree tree, Object value, boolean isSelected,                                 boolean expanded, boolean leaf, int row)  {    renderer.getTreeCellRendererComponent(tree, value, isSelected, expanded,                                           leaf, row, true);    Icon c = renderer.getIcon();    if (c != null)        offset = renderer.getIconTextGap() + c.getIconWidth();    else      offset = 0;  }  /**   * Invoked just before editing is to start. Will add the    * editingComponent to the editingContainer.   */  protected void prepareForEditing()  {    editingContainer.add(editingComponent);  }  /**   * Creates the container to manage placement of editingComponent.   *    * @return the container to manage the placement of the editingComponent.   */  protected Container createContainer()  {    return new DefaultTreeCellEditor.EditorContainer();  }  /**   * This is invoked if a TreeCellEditor is not supplied in the constructor.    * It returns a TextField editor.   *    * @return a new TextField editor   */  protected TreeCellEditor createTreeCellEditor()  {    realEditor = new DefaultCellEditor(new DefaultTreeCellEditor.DefaultTextField(                                  UIManager.getBorder("Tree.selectionBorder")));    return realEditor;  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -