Class mxGraphComponent

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.awt.print.Printable, java.io.Serializable, javax.accessibility.Accessible, javax.swing.ScrollPaneConstants

    public class mxGraphComponent
    extends javax.swing.JScrollPane
    implements java.awt.print.Printable
    For setting the preferred size of the viewport for scrolling, use mxGraph.setMinimumGraphSize. This component is a combined scrollpane with an inner mxGraphControl. The control contains the actual graph display. To set the background color of the graph, use the following code:
     graphComponent.getViewport().setOpaque(true);
     graphComponent.getViewport().setBackground(newColor);
     
    This class fires the following events: mxEvent.START_EDITING fires before starting the in-place editor for an existing cell in startEditingAtCell. The cell property contains the cell that is being edit and the event property contains optional EventObject which was passed to startEditingAtCell. mxEvent.LABEL_CHANGED fires between begin- and endUpdate after the call to mxGraph.cellLabelChanged in labelChanged. The cell property contains the cell, the value property contains the new value for the cell and the optional event property contains the EventObject that started the edit. mxEvent.ADD_OVERLAY and mxEvent.REMOVE_OVERLAY fire afer an overlay was added or removed using add-/removeOverlay. The cell property contains the cell for which the overlay was added or removed and the overlay property contain the mxOverlay. mxEvent.BEFORE_PAINT and mxEvent.AFTER_PAINT fire before and after the paint method is called on the component. The g property contains the graphics context which is used for painting.
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      class  mxGraphComponent.mxGraphControl  
      static class  mxGraphComponent.mxMouseRedirector  
      • Nested classes/interfaces inherited from class javax.swing.JScrollPane

        javax.swing.JScrollPane.AccessibleJScrollPane, javax.swing.JScrollPane.ScrollBar
      • Nested classes/interfaces inherited from class javax.swing.JComponent

        javax.swing.JComponent.AccessibleJComponent
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected boolean antiAlias  
      protected boolean autoExtend
      Whether to extend the graph bounds and scroll towards the limit of those new bounds in the direction of mouse travel if a handler is active while the mouse leaves the container that the graph exists in.
      protected boolean autoScroll
      Whether or not to scroll the scrollable container the graph exists in if a suitable handler is active and the graph bounds already exist extended in the direction of mouse travel.
      protected javax.swing.ImageIcon backgroundImage
      Specifies the to be returned by .
      protected mxInteractiveCanvas canvas  
      protected mxICellEditor cellEditor  
      protected boolean centerPage
      Specifies if the background page should be centered by automatically setting the translate in the view.
      protected boolean centerZoom
      Specifies if the zoom operations should go into the center of the actual diagram rather than going from top, left.
      protected javax.swing.ImageIcon collapsedIcon  
      protected java.util.Hashtable<java.lang.Object,​java.awt.Component[]> components
      Maps from cells to lists of heavyweights.
      protected mxConnectionHandler connectionHandler  
      static javax.swing.ImageIcon DEFAULT_COLLAPSED_ICON  
      static javax.swing.ImageIcon DEFAULT_EXPANDED_ICON  
      static double DEFAULT_PAGESCALE
      Specifies the default page scale.
      static javax.swing.ImageIcon DEFAULT_WARNING_ICON  
      protected boolean dragEnabled  
      protected boolean enterStopsCellEditing
      If true, pressing the enter key without pressing control will stop editing and accept the new value.
      protected boolean escapeEnabled
      Specifies should be invoked when the escape key is pressed.
      protected mxEventSource eventSource  
      protected javax.swing.ImageIcon expandedIcon  
      protected boolean exportEnabled  
      protected boolean foldingEnabled
      Specifies if folding (collapse and expand via an image icon in the graph should be enabled).
      protected mxGraph graph  
      protected mxGraphComponent.mxGraphControl graphControl  
      protected mxGraphHandler graphHandler  
      static int GRID_STYLE_CROSS  
      static int GRID_STYLE_DASHED  
      static int GRID_STYLE_DOT  
      static int GRID_STYLE_LINE  
      protected java.awt.Color gridColor  
      protected int gridStyle  
      protected boolean gridVisible
      Specifies if the grid is visible.
      protected int horizontalPageCount
      Specifies the number of pages in the horizontal direction.
      protected boolean importEnabled  
      protected boolean invokesStopCellEditing
      If true, when editing is to be stopped by way of selection changing, data in diagram changing or other means stopCellEditing is invoked, and changes are saved.
      protected boolean keepSelectionVisibleOnZoom
      Specifies if the viewport should automatically contain the selection cells after a zoom operation.
      protected java.util.Hashtable<java.lang.Object,​mxICellOverlay[]> overlays
      Maps from cells to lists of overlays.
      protected java.awt.Color pageBackgroundColor
      Color of the background area if layout view.
      protected java.awt.Color pageBorderColor  
      protected java.awt.Color pageBreakColor
      Specifies the color of page breaks
      protected boolean pageBreaksVisible
      Specifies if a dashed line should be drawn between multiple pages.
      protected java.awt.print.PageFormat pageFormat
      Background page format.
      protected double pageScale
      Defines the scaling for the background page metrics.
      protected java.awt.Color pageShadowColor  
      protected boolean pageVisible
      Specifies if the background page should be visible.
      protected mxPanningHandler panningHandler  
      protected boolean preferPageSize
      If the pageFormat should be used to determine the minimal graph bounds even if the page is not visible (see pageVisible).
      protected float previewAlpha
      The transparency of previewed cells from 0.0.
      protected mxEventSource.mxIEventListener repaintHandler  
      protected mxEventSource.mxIEventListener scaleHandler
      Resets the zoom policy if the scale is changed manually.
      protected mxSelectionCellsHandler selectionCellsHandler  
      boolean showDirtyRectangle
      Used for debugging the dirty region.
      protected boolean swimlaneSelectionEnabled
      Specifies if swimlanes are selected when the mouse is released over the swimlanes content area.
      protected boolean textAntiAlias  
      protected int tolerance
      Specifies the tolerance for mouse clicks.
      protected boolean transparentSwimlaneContent
      Specifies if the content area should be transparent to events.
      protected java.awt.image.BufferedImage tripleBuffer  
      protected boolean tripleBuffered
      Specifies if an image buffer should be used for painting the component.
      protected java.awt.Graphics2D tripleBufferGraphics  
      protected mxEventSource.mxIEventListener updateHandler
      Updates the heavyweight component structure after any changes.
      protected int verticalPageCount
      Specifies the number of pages in the vertical direction.
      protected java.beans.PropertyChangeListener viewChangeHandler  
      protected javax.swing.ImageIcon warningIcon  
      static int ZOOM_POLICY_NONE  
      static int ZOOM_POLICY_PAGE  
      static int ZOOM_POLICY_WIDTH  
      protected double zoomFactor
      Specifies the factor used for zoomIn and zoomOut.
      protected int zoomPolicy
      Specifies the zoom policy.
      • Fields inherited from class javax.swing.JScrollPane

        columnHeader, horizontalScrollBar, horizontalScrollBarPolicy, lowerLeft, lowerRight, rowHeader, upperLeft, upperRight, verticalScrollBar, verticalScrollBarPolicy, viewport
      • Fields inherited from class javax.swing.JComponent

        listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
      • Fields inherited from class java.awt.Component

        accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
      • Fields inherited from interface java.awt.image.ImageObserver

        ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
      • Fields inherited from interface java.awt.print.Printable

        NO_SUCH_PAGE, PAGE_EXISTS
      • Fields inherited from interface javax.swing.ScrollPaneConstants

        COLUMN_HEADER, HORIZONTAL_SCROLLBAR, HORIZONTAL_SCROLLBAR_ALWAYS, HORIZONTAL_SCROLLBAR_AS_NEEDED, HORIZONTAL_SCROLLBAR_NEVER, HORIZONTAL_SCROLLBAR_POLICY, LOWER_LEADING_CORNER, LOWER_LEFT_CORNER, LOWER_RIGHT_CORNER, LOWER_TRAILING_CORNER, ROW_HEADER, UPPER_LEADING_CORNER, UPPER_LEFT_CORNER, UPPER_RIGHT_CORNER, UPPER_TRAILING_CORNER, VERTICAL_SCROLLBAR, VERTICAL_SCROLLBAR_ALWAYS, VERTICAL_SCROLLBAR_AS_NEEDED, VERTICAL_SCROLLBAR_NEVER, VERTICAL_SCROLLBAR_POLICY, VIEWPORT
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      mxICellOverlay addCellOverlay​(java.lang.Object cell, mxICellOverlay overlay)
      Adds an overlay for the specified cell.
      void addListener​(java.lang.String eventName, mxEventSource.mxIEventListener listener)  
      boolean canExportCell​(java.lang.Object cell)
      Returns true if the given cell can be exported via datatransfer.
      boolean canImportCell​(java.lang.Object cell)
      Returns true if the given cell can be imported via datatransfer.
      void checkTripleBuffer()
      Checks if the triple buffer exists and creates a new one if it does not.
      void clearCellOverlays()
      Removes all overlays in the graph.
      void clearCellOverlays​(java.lang.Object cell)
      Removes all overlays in the graph for the given cell and all its descendants.
      mxInteractiveCanvas createCanvas()
      Hook for subclassers to replace the graphics canvas for rendering and and printing.
      protected mxICellEditor createCellEditor()  
      java.awt.Component[] createComponents​(mxCellState state)
      Hook for subclassers to create the array of heavyweights for the given state.
      protected mxConnectionHandler createConnectionHandler()  
      protected mxGraphComponent.mxGraphControl createGraphControl()
      Creates the inner control that handles tooltips, preferred size and can draw cells onto a canvas.
      protected mxGraphHandler createGraphHandler()  
      mxCellHandler createHandler​(mxCellState state)  
      protected void createHandlers()
      Creates the connection-, panning and graphhandler (in this order).
      protected mxPanningHandler createPanningHandler()  
      protected mxSelectionCellsHandler createSelectionCellsHandler()  
      protected javax.swing.TransferHandler createTransferHandler()  
      protected void createTripleBuffer​(int width, int height)
      Creates the tripleBufferGraphics and tripleBuffer for the given dimension and draws the complete graph onto the triplebuffer.
      void destroyTripleBuffer()
      Destroys the tripleBuffer and tripleBufferGraphics objects.
      void escape​(java.awt.event.KeyEvent e)
      Callback to process an escape keystroke.
      javax.swing.ImageIcon getBackgroundImage()  
      mxInteractiveCanvas getCanvas()  
      java.lang.Object getCellAt​(int x, int y)  
      java.lang.Object getCellAt​(int x, int y, boolean hitSwimlaneContent)  
      java.lang.Object getCellAt​(int x, int y, boolean hitSwimlaneContent, java.lang.Object parent)
      Returns the bottom-most cell that intersects the given point (x, y) in the cell hierarchy starting at the given parent.
      mxICellEditor getCellEditor()  
      mxICellOverlay[] getCellOverlays​(java.lang.Object cell)
      Returns the array of overlays for the given cell or null, if no overlays are defined.
      java.lang.Object[] getCells​(java.awt.Rectangle rect)
      Returns the cells inside the given rectangle.
      java.lang.Object[] getCells​(java.awt.Rectangle rect, java.lang.Object parent)
      Returns the children of the given parent that are contained in the given rectangle (x, y, width, height).
      mxConnectionHandler getConnectionHandler()  
      java.lang.String getEditingValue​(java.lang.Object cell, java.util.EventObject trigger)  
      java.lang.Object[] getExportableCells​(java.lang.Object[] cells)
      Returns all cells which may be exported via datatransfer.
      javax.swing.ImageIcon getFoldingIcon​(mxCellState state)
      Returns the icon used to display the collapsed state of the specified cell state.
      java.awt.Rectangle getFoldingIconBounds​(mxCellState state, javax.swing.ImageIcon icon)  
      mxGraph getGraph()  
      mxGraphComponent.mxGraphControl getGraphControl()  
      mxGraphHandler getGraphHandler()  
      java.awt.Color getGridColor()  
      int getGridStyle()  
      int getHorizontalPageBorder()
      Returns the horizontal border between the page and the control.
      int getHorizontalPageCount()  
      java.lang.Object[] getImportableCells​(java.lang.Object[] cells)
      Returns all cells which may be imported via datatransfer.
      mxRectangle getLayoutAreaSize()
      Returns the size of the area that layouts can operate in.
      java.awt.Color getPageBackgroundColor()  
      java.awt.Color getPageBorderColor()  
      java.awt.Color getPageBreakColor()  
      java.awt.print.PageFormat getPageFormat()  
      double getPageScale()  
      java.awt.Color getPageShadowColor()  
      protected mxPoint getPageTranslate​(double scale)
      Should be called by a hook inside mxGraphView/mxGraph
      mxPanningHandler getPanningHandler()  
      mxPoint getPointForEvent​(java.awt.event.MouseEvent e)
      Returns an mxPoint representing the given event in the unscaled, non-translated coordinate space and applies the grid.
      mxPoint getPointForEvent​(java.awt.event.MouseEvent e, boolean addOffset)
      Returns an mxPoint representing the given event in the unscaled, non-translated coordinate space and applies the grid.
      protected java.awt.Dimension getPreferredSizeForPage()
      Returns the (unscaled) preferred size for the current page format (scaled by pageScale).
      float getPreviewAlpha()  
      protected java.awt.Dimension getScaledPreferredSizeForGraph()
      Returns the scaled preferred size for the current graph.
      mxSelectionCellsHandler getSelectionCellsHandler()  
      int getTolerance()  
      java.awt.image.BufferedImage getTripleBuffer()  
      int getVerticalPageBorder()
      Returns the vertical border between the page and the control.
      int getVerticalPageCount()  
      double getZoomFactor()  
      int getZoomPolicy()  
      boolean hitFoldingIcon​(java.lang.Object cell, int x, int y)  
      java.lang.Object[] importCells​(java.lang.Object[] cells, double dx, double dy, java.lang.Object target, java.awt.Point location)
      Clones and inserts the given cells into the graph using the move method and returns the inserted cells.
      void insertComponent​(mxCellState state, java.awt.Component c)  
      protected void installDoubleClickHandler()
      Adds handling of edit and stop-edit events after all other handlers have been installed.
      protected void installFocusHandler()
      installs a handler to set the focus to the container.
      protected void installKeyHandler()
      Handles escape keystrokes.
      protected void installResizeHandler()
      Applies the zoom policy if the size of the component changes.
      boolean isAntiAlias()  
      boolean isAutoExtend()  
      boolean isAutoScroll()  
      boolean isCenterPage()  
      boolean isCenterZoom()  
      boolean isCloneEvent​(java.awt.event.MouseEvent event)  
      boolean isConnectable()  
      boolean isConstrainedEvent​(java.awt.event.MouseEvent event)
      Note: This is not used during drag and drop operations due to limitations of the underlying API.
      boolean isDragEnabled()  
      boolean isEditEvent​(java.awt.event.MouseEvent e)  
      boolean isEditing()  
      boolean isEnterStopsCellEditing()  
      boolean isEscapeEnabled()  
      boolean isEventsEnabled()  
      boolean isExportEnabled()  
      boolean isFoldingEnabled()  
      boolean isForceMarqueeEvent​(java.awt.event.MouseEvent event)
      Note: This is not used during drag and drop operations due to limitations of the underlying API.
      boolean isForceTripleBuffered()
      Hook for dynamic triple buffering condition.
      boolean isGridEnabledEvent​(java.awt.event.MouseEvent event)  
      boolean isGridVisible()  
      boolean isImportEnabled()
      Returns importEnabled.
      boolean isInvokesStopCellEditing()  
      boolean isKeepSelectionVisibleOnZoom()  
      boolean isPageBreaksVisible()  
      boolean isPageVisible()  
      boolean isPanning()  
      boolean isPanningEvent​(java.awt.event.MouseEvent event)
      Note: This is not used during drag and drop operations due to limitations of the underlying API.
      boolean isPreferPageSize()  
      boolean isSignificant​(double dx, double dy)
      Returns true if the absolute value of one of the given parameters is greater than the tolerance.
      boolean isSwimlaneSelectionEnabled()  
      boolean isTextAntiAlias()  
      boolean isToggleEvent​(java.awt.event.MouseEvent event)  
      boolean isTripleBuffered()  
      java.lang.Object labelChanged​(java.lang.Object cell, java.lang.Object value, java.util.EventObject evt)
      Sets the label of the specified cell to the given value using mxGraph.cellLabelChanged and fires mxEvent.LABEL_CHANGED while the transaction is in progress.
      protected void maintainScrollBar​(boolean horizontal, double factor, boolean center)  
      protected void paintBackground​(java.awt.Graphics g)  
      protected void paintBackgroundImage​(java.awt.Graphics g)  
      protected java.awt.Rectangle paintBackgroundPage​(java.awt.Graphics g)  
      protected void paintGrid​(java.awt.Graphics g)
      Paints the grid onto the given graphics object.
      int print​(java.awt.Graphics g, java.awt.print.PageFormat printFormat, int page)
      Prints the specified page on the specified graphics using pageFormat for the page format.
      void redraw​(mxCellState state)
      Updates the buffer (if one exists) and repaints the given cell state.
      void refresh()
      Refreshes the display and handles.
      void removeAllComponents​(java.util.Hashtable<java.lang.Object,​java.awt.Component[]> map)  
      void removeAllOverlays​(java.util.Hashtable<java.lang.Object,​mxICellOverlay[]> map)  
      mxICellOverlay removeCellOverlay​(java.lang.Object cell, mxICellOverlay overlay)
      Removes and returns the given overlay from the given cell.
      protected void removeCellOverlayComponent​(mxICellOverlay overlay, java.lang.Object cell)
      Notified when an overlay has been removed from the graph.
      mxICellOverlay[] removeCellOverlays​(java.lang.Object cell)
      Removes all overlays from the given cell.
      void removeComponent​(java.awt.Component c, java.lang.Object cell)  
      void removeListener​(mxEventSource.mxIEventListener listener)  
      void removeListener​(mxEventSource.mxIEventListener listener, java.lang.String eventName)  
      void repaintTripleBuffer​(java.awt.Rectangle dirty)
      Clears and repaints the triple buffer at the given rectangle or repaints the complete buffer if no rectangle is specified.
      void scrollCellToVisible​(java.lang.Object cell)
      Scrolls the graph so that it shows the given cell.
      void scrollCellToVisible​(java.lang.Object cell, boolean center)
      Scrolls the graph so that it shows the given cell.
      void scrollToCenter​(boolean horizontal)  
      void selectCellForEvent​(java.lang.Object cell, java.awt.event.MouseEvent e)
      Selects the cell for the given event.
      void selectCellsForEvent​(java.lang.Object[] cells, java.awt.event.MouseEvent event)
      Selects the cells for the given event.
      java.lang.Object[] selectRegion​(java.awt.Rectangle rect, java.awt.event.MouseEvent e)  
      void setAntiAlias​(boolean value)
      Fires a property change event for antiAlias.
      void setAutoExtend​(boolean value)  
      void setAutoScroll​(boolean value)  
      void setBackgroundImage​(javax.swing.ImageIcon value)  
      void setCellEditor​(mxICellEditor value)  
      mxICellOverlay setCellWarning​(java.lang.Object cell, java.lang.String warning)
      Creates an overlay for the given cell using the warning and image or warningImage and returns the new overlay.
      mxICellOverlay setCellWarning​(java.lang.Object cell, java.lang.String warning, javax.swing.ImageIcon icon)
      Creates an overlay for the given cell using the warning and image or warningImage and returns the new overlay.
      mxICellOverlay setCellWarning​(java.lang.Object cell, java.lang.String warning, javax.swing.ImageIcon icon, boolean select)
      Creates an overlay for the given cell using the warning and image or warningImage and returns the new overlay.
      void setCenterPage​(boolean value)
      zoomAndCenter should be called if this is set to true.
      void setCenterZoom​(boolean value)  
      void setConnectable​(boolean connectable)  
      void setDragEnabled​(boolean value)  
      void setEnterStopsCellEditing​(boolean value)  
      void setEscapeEnabled​(boolean value)  
      void setEventsEnabled​(boolean eventsEnabled)  
      void setExportEnabled​(boolean value)  
      void setFoldingEnabled​(boolean value)  
      void setGraph​(mxGraph value)  
      void setGridColor​(java.awt.Color value)
      Fires a property change event for gridColor.
      void setGridStyle​(int value)
      Fires a property change event for gridStyle.
      void setGridVisible​(boolean value)
      Fires a property change event for gridVisible.
      void setHorizontalPageCount​(int value)  
      void setImportEnabled​(boolean value)
      Sets importEnabled.
      void setInvokesStopCellEditing​(boolean value)  
      void setKeepSelectionVisibleOnZoom​(boolean value)  
      void setPageBackgroundColor​(java.awt.Color value)
      Sets the color that appears behind the page.
      void setPageBorderColor​(java.awt.Color value)  
      void setPageBreakColor​(java.awt.Color pageBreakColor)  
      void setPageBreaksVisible​(boolean value)  
      void setPageFormat​(java.awt.print.PageFormat value)  
      void setPageScale​(double value)  
      void setPageShadowColor​(java.awt.Color value)  
      void setPageVisible​(boolean value)
      Fires a property change event for pageVisible.
      void setPanning​(boolean enabled)  
      void setPreferPageSize​(boolean value)
      Fires a property change event for preferPageSize.
      void setPreviewAlpha​(float value)  
      void setSwimlaneSelectionEnabled​(boolean value)  
      void setTextAntiAlias​(boolean value)
      Fires a property change event for textAntiAlias.
      void setTolerance​(int value)  
      void setToolTips​(boolean enabled)  
      void setTripleBuffered​(boolean value)  
      void setVerticalPageCount​(int value)  
      void setZoomFactor​(double value)  
      void setZoomPolicy​(int value)  
      mxPoint snapScaledPoint​(mxPoint pt)  
      mxPoint snapScaledPoint​(mxPoint pt, double dx, double dy)  
      void startEditing()  
      void startEditingAtCell​(java.lang.Object cell)  
      void startEditingAtCell​(java.lang.Object cell, java.util.EventObject evt)  
      void stopEditing​(boolean cancel)  
      protected void updateCellOverlayComponent​(mxCellState state, mxICellOverlay overlay)
      Notified when an overlay has been removed from the graph.
      java.util.Hashtable<java.lang.Object,​mxICellOverlay[]> updateCellOverlays​(java.lang.Object cell)
      Returns a hashtable with all entries from the overlays variable where a cell still exists in the model.
      void updateComponent​(mxCellState state, java.awt.Component c)  
      void updateComponents()  
      java.util.Hashtable<java.lang.Object,​java.awt.Component[]> updateComponents​(java.lang.Object cell)  
      java.lang.String validateGraph()
      Validates the graph by validating each descendant of the given cell or the root of the model.
      java.lang.String validateGraph​(java.lang.Object cell, java.util.Hashtable<java.lang.Object,​java.lang.Object> context)
      Validates the graph by validating each descendant of the given cell or the root of the model.
      void zoom​(boolean page, boolean center)  
      void zoom​(double factor)  
      void zoomActual()
      Function: zoomActual Resets the zoom and panning in the view.
      void zoomAndCenter()
      Invoked after the component was resized to update the zoom if the zoom policy is not none and/or update the translation of the diagram if pageVisible and centerPage are true.
      void zoomIn()
      Zooms into the graph by zoomFactor.
      void zoomOut()
      Function: zoomOut Zooms out of the graph by .
      void zoomTo​(double newScale, boolean center)  
      • Methods inherited from class javax.swing.JScrollPane

        createHorizontalScrollBar, createVerticalScrollBar, createViewport, getAccessibleContext, getColumnHeader, getCorner, getHorizontalScrollBar, getHorizontalScrollBarPolicy, getRowHeader, getUI, getUIClassID, getVerticalScrollBar, getVerticalScrollBarPolicy, getViewport, getViewportBorder, getViewportBorderBounds, isValidateRoot, isWheelScrollingEnabled, paramString, setColumnHeader, setColumnHeaderView, setComponentOrientation, setCorner, setHorizontalScrollBar, setHorizontalScrollBarPolicy, setLayout, setRowHeader, setRowHeaderView, setUI, setVerticalScrollBar, setVerticalScrollBarPolicy, setViewport, setViewportBorder, setViewportView, setWheelScrollingEnabled, updateUI
      • Methods inherited from class javax.swing.JComponent

        addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
      • Methods inherited from class java.awt.Container

        add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, transferFocusDownCycle, validate, validateTree
      • Methods inherited from class java.awt.Component

        action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • DEFAULT_EXPANDED_ICON

        public static javax.swing.ImageIcon DEFAULT_EXPANDED_ICON
      • DEFAULT_COLLAPSED_ICON

        public static javax.swing.ImageIcon DEFAULT_COLLAPSED_ICON
      • DEFAULT_WARNING_ICON

        public static javax.swing.ImageIcon DEFAULT_WARNING_ICON
      • DEFAULT_PAGESCALE

        public static final double DEFAULT_PAGESCALE
        Specifies the default page scale. Default is 1.4
        See Also:
        Constant Field Values
      • previewAlpha

        protected float previewAlpha
        The transparency of previewed cells from 0.0. to 0.1. 0.0 indicates transparent, 1.0 indicates opaque. Default is 1.
      • backgroundImage

        protected javax.swing.ImageIcon backgroundImage
        Specifies the to be returned by . Default is null.
      • pageFormat

        protected java.awt.print.PageFormat pageFormat
        Background page format.
      • tripleBuffer

        protected java.awt.image.BufferedImage tripleBuffer
      • tripleBufferGraphics

        protected java.awt.Graphics2D tripleBufferGraphics
      • pageScale

        protected double pageScale
        Defines the scaling for the background page metrics. Default is DEFAULT_PAGESCALE.
      • pageVisible

        protected boolean pageVisible
        Specifies if the background page should be visible. Default is false.
      • preferPageSize

        protected boolean preferPageSize
        If the pageFormat should be used to determine the minimal graph bounds even if the page is not visible (see pageVisible). Default is false.
      • pageBreaksVisible

        protected boolean pageBreaksVisible
        Specifies if a dashed line should be drawn between multiple pages.
      • pageBreakColor

        protected java.awt.Color pageBreakColor
        Specifies the color of page breaks
      • horizontalPageCount

        protected int horizontalPageCount
        Specifies the number of pages in the horizontal direction.
      • verticalPageCount

        protected int verticalPageCount
        Specifies the number of pages in the vertical direction.
      • centerPage

        protected boolean centerPage
        Specifies if the background page should be centered by automatically setting the translate in the view. Default is true. This does only apply if pageVisible is true.
      • pageBackgroundColor

        protected java.awt.Color pageBackgroundColor
        Color of the background area if layout view.
      • pageShadowColor

        protected java.awt.Color pageShadowColor
      • pageBorderColor

        protected java.awt.Color pageBorderColor
      • gridVisible

        protected boolean gridVisible
        Specifies if the grid is visible. Default is false.
      • gridColor

        protected java.awt.Color gridColor
      • autoScroll

        protected boolean autoScroll
        Whether or not to scroll the scrollable container the graph exists in if a suitable handler is active and the graph bounds already exist extended in the direction of mouse travel.
      • autoExtend

        protected boolean autoExtend
        Whether to extend the graph bounds and scroll towards the limit of those new bounds in the direction of mouse travel if a handler is active while the mouse leaves the container that the graph exists in.
      • dragEnabled

        protected boolean dragEnabled
      • importEnabled

        protected boolean importEnabled
      • exportEnabled

        protected boolean exportEnabled
      • foldingEnabled

        protected boolean foldingEnabled
        Specifies if folding (collapse and expand via an image icon in the graph should be enabled). Default is true.
      • tolerance

        protected int tolerance
        Specifies the tolerance for mouse clicks. Default is 4.
      • swimlaneSelectionEnabled

        protected boolean swimlaneSelectionEnabled
        Specifies if swimlanes are selected when the mouse is released over the swimlanes content area. Default is true.
      • transparentSwimlaneContent

        protected boolean transparentSwimlaneContent
        Specifies if the content area should be transparent to events. Default is true.
      • gridStyle

        protected int gridStyle
      • expandedIcon

        protected javax.swing.ImageIcon expandedIcon
      • collapsedIcon

        protected javax.swing.ImageIcon collapsedIcon
      • warningIcon

        protected javax.swing.ImageIcon warningIcon
      • antiAlias

        protected boolean antiAlias
      • textAntiAlias

        protected boolean textAntiAlias
      • escapeEnabled

        protected boolean escapeEnabled
        Specifies should be invoked when the escape key is pressed. Default is true.
      • invokesStopCellEditing

        protected boolean invokesStopCellEditing
        If true, when editing is to be stopped by way of selection changing, data in diagram changing or other means stopCellEditing is invoked, and changes are saved. This is implemented in a mouse listener in this class. Default is true.
      • enterStopsCellEditing

        protected boolean enterStopsCellEditing
        If true, pressing the enter key without pressing control will stop editing and accept the new value. This is used in to stop cell editing. Default is false.
      • zoomPolicy

        protected int zoomPolicy
        Specifies the zoom policy. Default is ZOOM_POLICY_PAGE. The zoom policy does only apply if pageVisible is true.
      • zoomFactor

        protected double zoomFactor
        Specifies the factor used for zoomIn and zoomOut. Default is 1.2 (120%).
      • keepSelectionVisibleOnZoom

        protected boolean keepSelectionVisibleOnZoom
        Specifies if the viewport should automatically contain the selection cells after a zoom operation. Default is false.
      • centerZoom

        protected boolean centerZoom
        Specifies if the zoom operations should go into the center of the actual diagram rather than going from top, left. Default is true.
      • tripleBuffered

        protected boolean tripleBuffered
        Specifies if an image buffer should be used for painting the component. Default is false.
      • showDirtyRectangle

        public boolean showDirtyRectangle
        Used for debugging the dirty region.
      • components

        protected java.util.Hashtable<java.lang.Object,​java.awt.Component[]> components
        Maps from cells to lists of heavyweights.
      • overlays

        protected java.util.Hashtable<java.lang.Object,​mxICellOverlay[]> overlays
        Maps from cells to lists of overlays.
      • viewChangeHandler

        protected java.beans.PropertyChangeListener viewChangeHandler
    • Constructor Detail

      • mxGraphComponent

        public mxGraphComponent​(mxGraph graph)
        Parameters:
        graph -
    • Method Detail

      • installFocusHandler

        protected void installFocusHandler()
        installs a handler to set the focus to the container.
      • installKeyHandler

        protected void installKeyHandler()
        Handles escape keystrokes.
      • installResizeHandler

        protected void installResizeHandler()
        Applies the zoom policy if the size of the component changes.
      • installDoubleClickHandler

        protected void installDoubleClickHandler()
        Adds handling of edit and stop-edit events after all other handlers have been installed.
      • setGraph

        public void setGraph​(mxGraph value)
      • getGraph

        public mxGraph getGraph()
        Returns:
        Returns the object that contains the graph.
      • createGraphControl

        protected mxGraphComponent.mxGraphControl createGraphControl()
        Creates the inner control that handles tooltips, preferred size and can draw cells onto a canvas.
      • createHandlers

        protected void createHandlers()
        Creates the connection-, panning and graphhandler (in this order).
      • createTransferHandler

        protected javax.swing.TransferHandler createTransferHandler()
      • isEditing

        public boolean isEditing()
      • setCellEditor

        public void setCellEditor​(mxICellEditor value)
      • getTolerance

        public int getTolerance()
        Returns:
        the tolerance
      • setTolerance

        public void setTolerance​(int value)
        Parameters:
        value - the tolerance to set
      • getPageFormat

        public java.awt.print.PageFormat getPageFormat()
      • setPageFormat

        public void setPageFormat​(java.awt.print.PageFormat value)
      • getPageScale

        public double getPageScale()
      • setPageScale

        public void setPageScale​(double value)
      • getLayoutAreaSize

        public mxRectangle getLayoutAreaSize()
        Returns the size of the area that layouts can operate in.
      • getBackgroundImage

        public javax.swing.ImageIcon getBackgroundImage()
      • setBackgroundImage

        public void setBackgroundImage​(javax.swing.ImageIcon value)
      • isPageVisible

        public boolean isPageVisible()
        Returns:
        the pageVisible
      • setPageVisible

        public void setPageVisible​(boolean value)
        Fires a property change event for pageVisible. zoomAndCenter should be called if this is set to true.
        Parameters:
        value - the pageVisible to set
      • isPreferPageSize

        public boolean isPreferPageSize()
        Returns:
        the preferPageSize
      • setPreferPageSize

        public void setPreferPageSize​(boolean value)
        Fires a property change event for preferPageSize.
        Parameters:
        value - the preferPageSize to set
      • isPageBreaksVisible

        public boolean isPageBreaksVisible()
        Returns:
        the pageBreaksVisible
      • setPageBreaksVisible

        public void setPageBreaksVisible​(boolean value)
        Parameters:
        value - the pageBreaksVisible to set
      • getPageBreakColor

        public java.awt.Color getPageBreakColor()
        Returns:
        the pageBreakColor
      • setPageBreakColor

        public void setPageBreakColor​(java.awt.Color pageBreakColor)
        Parameters:
        pageBreakColor - the pageBreakColor to set
      • setHorizontalPageCount

        public void setHorizontalPageCount​(int value)
        Parameters:
        value - the horizontalPageCount to set
      • getHorizontalPageCount

        public int getHorizontalPageCount()
      • setVerticalPageCount

        public void setVerticalPageCount​(int value)
        Parameters:
        value - the verticalPageCount to set
      • getVerticalPageCount

        public int getVerticalPageCount()
      • isCenterPage

        public boolean isCenterPage()
        Returns:
        the centerPage
      • setCenterPage

        public void setCenterPage​(boolean value)
        zoomAndCenter should be called if this is set to true.
        Parameters:
        value - the centerPage to set
      • getPageBackgroundColor

        public java.awt.Color getPageBackgroundColor()
        Returns:
        the pageBackgroundColor
      • setPageBackgroundColor

        public void setPageBackgroundColor​(java.awt.Color value)
        Sets the color that appears behind the page.
        Parameters:
        value - the pageBackgroundColor to set
      • getPageShadowColor

        public java.awt.Color getPageShadowColor()
        Returns:
        the pageShadowColor
      • setPageShadowColor

        public void setPageShadowColor​(java.awt.Color value)
        Parameters:
        value - the pageShadowColor to set
      • getPageBorderColor

        public java.awt.Color getPageBorderColor()
        Returns:
        the pageShadowColor
      • setPageBorderColor

        public void setPageBorderColor​(java.awt.Color value)
        Parameters:
        value - the pageBorderColor to set
      • isKeepSelectionVisibleOnZoom

        public boolean isKeepSelectionVisibleOnZoom()
        Returns:
        the keepSelectionVisibleOnZoom
      • setKeepSelectionVisibleOnZoom

        public void setKeepSelectionVisibleOnZoom​(boolean value)
        Parameters:
        value - the keepSelectionVisibleOnZoom to set
      • getZoomFactor

        public double getZoomFactor()
        Returns:
        the zoomFactor
      • setZoomFactor

        public void setZoomFactor​(double value)
        Parameters:
        value - the zoomFactor to set
      • isCenterZoom

        public boolean isCenterZoom()
        Returns:
        the centerZoom
      • setCenterZoom

        public void setCenterZoom​(boolean value)
        Parameters:
        value - the centerZoom to set
      • setZoomPolicy

        public void setZoomPolicy​(int value)
      • getZoomPolicy

        public int getZoomPolicy()
      • escape

        public void escape​(java.awt.event.KeyEvent e)
        Callback to process an escape keystroke.
        Parameters:
        e -
      • importCells

        public java.lang.Object[] importCells​(java.lang.Object[] cells,
                                              double dx,
                                              double dy,
                                              java.lang.Object target,
                                              java.awt.Point location)
        Clones and inserts the given cells into the graph using the move method and returns the inserted cells. This shortcut is used if cells are inserted via datatransfer.
      • refresh

        public void refresh()
        Refreshes the display and handles.
      • getPointForEvent

        public mxPoint getPointForEvent​(java.awt.event.MouseEvent e)
        Returns an mxPoint representing the given event in the unscaled, non-translated coordinate space and applies the grid.
      • getPointForEvent

        public mxPoint getPointForEvent​(java.awt.event.MouseEvent e,
                                        boolean addOffset)
        Returns an mxPoint representing the given event in the unscaled, non-translated coordinate space and applies the grid.
      • startEditing

        public void startEditing()
      • startEditingAtCell

        public void startEditingAtCell​(java.lang.Object cell)
      • startEditingAtCell

        public void startEditingAtCell​(java.lang.Object cell,
                                       java.util.EventObject evt)
      • getEditingValue

        public java.lang.String getEditingValue​(java.lang.Object cell,
                                                java.util.EventObject trigger)
      • stopEditing

        public void stopEditing​(boolean cancel)
      • labelChanged

        public java.lang.Object labelChanged​(java.lang.Object cell,
                                             java.lang.Object value,
                                             java.util.EventObject evt)
        Sets the label of the specified cell to the given value using mxGraph.cellLabelChanged and fires mxEvent.LABEL_CHANGED while the transaction is in progress. Returns the cell whose label was changed.
        Parameters:
        cell - Cell whose label should be changed.
        value - New value of the label.
        evt - Optional event that triggered the change.
      • getPreferredSizeForPage

        protected java.awt.Dimension getPreferredSizeForPage()
        Returns the (unscaled) preferred size for the current page format (scaled by pageScale).
      • getVerticalPageBorder

        public int getVerticalPageBorder()
        Returns the vertical border between the page and the control.
      • getHorizontalPageBorder

        public int getHorizontalPageBorder()
        Returns the horizontal border between the page and the control.
      • getScaledPreferredSizeForGraph

        protected java.awt.Dimension getScaledPreferredSizeForGraph()
        Returns the scaled preferred size for the current graph.
      • getPageTranslate

        protected mxPoint getPageTranslate​(double scale)
        Should be called by a hook inside mxGraphView/mxGraph
      • zoomAndCenter

        public void zoomAndCenter()
        Invoked after the component was resized to update the zoom if the zoom policy is not none and/or update the translation of the diagram if pageVisible and centerPage are true.
      • zoomIn

        public void zoomIn()
        Zooms into the graph by zoomFactor.
      • zoomOut

        public void zoomOut()
        Function: zoomOut Zooms out of the graph by .
      • zoom

        public void zoom​(double factor)
      • zoomTo

        public void zoomTo​(double newScale,
                           boolean center)
      • zoomActual

        public void zoomActual()
        Function: zoomActual Resets the zoom and panning in the view.
      • zoom

        public void zoom​(boolean page,
                         boolean center)
      • maintainScrollBar

        protected void maintainScrollBar​(boolean horizontal,
                                         double factor,
                                         boolean center)
      • scrollToCenter

        public void scrollToCenter​(boolean horizontal)
      • scrollCellToVisible

        public void scrollCellToVisible​(java.lang.Object cell)
        Scrolls the graph so that it shows the given cell.
        Parameters:
        cell -
      • scrollCellToVisible

        public void scrollCellToVisible​(java.lang.Object cell,
                                        boolean center)
        Scrolls the graph so that it shows the given cell.
        Parameters:
        cell -
      • getCellAt

        public java.lang.Object getCellAt​(int x,
                                          int y)
        Parameters:
        x -
        y -
        Returns:
        Returns the cell at the given location.
      • getCellAt

        public java.lang.Object getCellAt​(int x,
                                          int y,
                                          boolean hitSwimlaneContent)
        Parameters:
        x -
        y -
        hitSwimlaneContent -
        Returns:
        Returns the cell at the given location.
      • getCellAt

        public java.lang.Object getCellAt​(int x,
                                          int y,
                                          boolean hitSwimlaneContent,
                                          java.lang.Object parent)
        Returns the bottom-most cell that intersects the given point (x, y) in the cell hierarchy starting at the given parent.
        Parameters:
        x - X-coordinate of the location to be checked.
        y - Y-coordinate of the location to be checked.
        parent - that should be used as the root of the recursion. Default is .
        Returns:
        Returns the child at the given location.
      • setSwimlaneSelectionEnabled

        public void setSwimlaneSelectionEnabled​(boolean value)
      • isSwimlaneSelectionEnabled

        public boolean isSwimlaneSelectionEnabled()
      • selectRegion

        public java.lang.Object[] selectRegion​(java.awt.Rectangle rect,
                                               java.awt.event.MouseEvent e)
      • getCells

        public java.lang.Object[] getCells​(java.awt.Rectangle rect)
        Returns the cells inside the given rectangle.
        Returns:
        Returns the cells inside the given rectangle.
      • getCells

        public java.lang.Object[] getCells​(java.awt.Rectangle rect,
                                           java.lang.Object parent)
        Returns the children of the given parent that are contained in the given rectangle (x, y, width, height). The result is added to the optional result array, which is returned from the function. If no result array is specified then a new array is created and returned.
        Returns:
        Returns the children inside the given rectangle.
      • selectCellsForEvent

        public void selectCellsForEvent​(java.lang.Object[] cells,
                                        java.awt.event.MouseEvent event)
        Selects the cells for the given event.
      • selectCellForEvent

        public void selectCellForEvent​(java.lang.Object cell,
                                       java.awt.event.MouseEvent e)
        Selects the cell for the given event.
      • isSignificant

        public boolean isSignificant​(double dx,
                                     double dy)
        Returns true if the absolute value of one of the given parameters is greater than the tolerance.
      • getFoldingIcon

        public javax.swing.ImageIcon getFoldingIcon​(mxCellState state)
        Returns the icon used to display the collapsed state of the specified cell state. This returns null for all edges.
      • getFoldingIconBounds

        public java.awt.Rectangle getFoldingIconBounds​(mxCellState state,
                                                       javax.swing.ImageIcon icon)
      • hitFoldingIcon

        public boolean hitFoldingIcon​(java.lang.Object cell,
                                      int x,
                                      int y)
      • setToolTips

        public void setToolTips​(boolean enabled)
        Parameters:
        enabled -
      • isConnectable

        public boolean isConnectable()
      • setConnectable

        public void setConnectable​(boolean connectable)
        Parameters:
        connectable -
      • isPanning

        public boolean isPanning()
      • setPanning

        public void setPanning​(boolean enabled)
        Parameters:
        enabled -
      • isAutoScroll

        public boolean isAutoScroll()
        Returns:
        the autoScroll
      • setAutoScroll

        public void setAutoScroll​(boolean value)
        Parameters:
        value - the autoScroll to set
      • isAutoExtend

        public boolean isAutoExtend()
        Returns:
        the autoExtend
      • setAutoExtend

        public void setAutoExtend​(boolean value)
        Parameters:
        value - the autoExtend to set
      • isEscapeEnabled

        public boolean isEscapeEnabled()
        Returns:
        the escapeEnabled
      • setEscapeEnabled

        public void setEscapeEnabled​(boolean value)
        Parameters:
        value - the escapeEnabled to set
      • isInvokesStopCellEditing

        public boolean isInvokesStopCellEditing()
        Returns:
        the escapeEnabled
      • setInvokesStopCellEditing

        public void setInvokesStopCellEditing​(boolean value)
        Parameters:
        value - the invokesStopCellEditing to set
      • isEnterStopsCellEditing

        public boolean isEnterStopsCellEditing()
        Returns:
        the enterStopsCellEditing
      • setEnterStopsCellEditing

        public void setEnterStopsCellEditing​(boolean value)
        Parameters:
        value - the enterStopsCellEditing to set
      • isDragEnabled

        public boolean isDragEnabled()
        Returns:
        the dragEnabled
      • setDragEnabled

        public void setDragEnabled​(boolean value)
        Parameters:
        value - the dragEnabled to set
      • isGridVisible

        public boolean isGridVisible()
        Returns:
        the gridVisible
      • setGridVisible

        public void setGridVisible​(boolean value)
        Fires a property change event for gridVisible.
        Parameters:
        value - the gridVisible to set
      • isAntiAlias

        public boolean isAntiAlias()
        Returns:
        the gridVisible
      • setAntiAlias

        public void setAntiAlias​(boolean value)
        Fires a property change event for antiAlias.
        Parameters:
        value - the antiAlias to set
      • isTextAntiAlias

        public boolean isTextAntiAlias()
        Returns:
        the gridVisible
      • setTextAntiAlias

        public void setTextAntiAlias​(boolean value)
        Fires a property change event for textAntiAlias.
        Parameters:
        value - the textAntiAlias to set
      • getPreviewAlpha

        public float getPreviewAlpha()
      • setPreviewAlpha

        public void setPreviewAlpha​(float value)
      • isTripleBuffered

        public boolean isTripleBuffered()
        Returns:
        the tripleBuffered
      • isForceTripleBuffered

        public boolean isForceTripleBuffered()
        Hook for dynamic triple buffering condition.
      • setTripleBuffered

        public void setTripleBuffered​(boolean value)
        Parameters:
        value - the tripleBuffered to set
      • getGridColor

        public java.awt.Color getGridColor()
        Returns:
        the gridColor
      • setGridColor

        public void setGridColor​(java.awt.Color value)
        Fires a property change event for gridColor.
        Parameters:
        value - the gridColor to set
      • getGridStyle

        public int getGridStyle()
        Returns:
        the gridStyle
      • setGridStyle

        public void setGridStyle​(int value)
        Fires a property change event for gridStyle.
        Parameters:
        value - the gridStyle to set
      • isImportEnabled

        public boolean isImportEnabled()
        Returns importEnabled.
      • setImportEnabled

        public void setImportEnabled​(boolean value)
        Sets importEnabled.
      • getImportableCells

        public java.lang.Object[] getImportableCells​(java.lang.Object[] cells)
        Returns all cells which may be imported via datatransfer.
      • canImportCell

        public boolean canImportCell​(java.lang.Object cell)
        Returns true if the given cell can be imported via datatransfer. This returns importEnabled.
      • isExportEnabled

        public boolean isExportEnabled()
        Returns:
        the exportEnabled
      • setExportEnabled

        public void setExportEnabled​(boolean value)
        Parameters:
        value - the exportEnabled to set
      • getExportableCells

        public java.lang.Object[] getExportableCells​(java.lang.Object[] cells)
        Returns all cells which may be exported via datatransfer.
      • canExportCell

        public boolean canExportCell​(java.lang.Object cell)
        Returns true if the given cell can be exported via datatransfer.
      • isFoldingEnabled

        public boolean isFoldingEnabled()
        Returns:
        the foldingEnabled
      • setFoldingEnabled

        public void setFoldingEnabled​(boolean value)
        Parameters:
        value - the foldingEnabled to set
      • isEditEvent

        public boolean isEditEvent​(java.awt.event.MouseEvent e)
      • isCloneEvent

        public boolean isCloneEvent​(java.awt.event.MouseEvent event)
        Parameters:
        event -
        Returns:
        Returns true if the given event should toggle selected cells.
      • isToggleEvent

        public boolean isToggleEvent​(java.awt.event.MouseEvent event)
        Parameters:
        event -
        Returns:
        Returns true if the given event should toggle selected cells.
      • isGridEnabledEvent

        public boolean isGridEnabledEvent​(java.awt.event.MouseEvent event)
        Parameters:
        event -
        Returns:
        Returns true if the given event allows the grid to be applied.
      • isPanningEvent

        public boolean isPanningEvent​(java.awt.event.MouseEvent event)
        Note: This is not used during drag and drop operations due to limitations of the underlying API. To enable this for move operations set dragEnabled to false.
        Parameters:
        event -
        Returns:
        Returns true if the given event is a panning event.
      • isConstrainedEvent

        public boolean isConstrainedEvent​(java.awt.event.MouseEvent event)
        Note: This is not used during drag and drop operations due to limitations of the underlying API. To enable this for move operations set dragEnabled to false.
        Parameters:
        event -
        Returns:
        Returns true if the given event is constrained.
      • isForceMarqueeEvent

        public boolean isForceMarqueeEvent​(java.awt.event.MouseEvent event)
        Note: This is not used during drag and drop operations due to limitations of the underlying API. To enable this for move operations set dragEnabled to false.
        Parameters:
        event -
        Returns:
        Returns true if the given event is constrained.
      • snapScaledPoint

        public mxPoint snapScaledPoint​(mxPoint pt,
                                       double dx,
                                       double dy)
      • print

        public int print​(java.awt.Graphics g,
                         java.awt.print.PageFormat printFormat,
                         int page)
        Prints the specified page on the specified graphics using pageFormat for the page format.
        Specified by:
        print in interface java.awt.print.Printable
        Parameters:
        g - The graphics to paint the graph on.
        printFormat - The page format to use for printing.
        page - The page to print
        Returns:
        Returns Printable.PAGE_EXISTS or Printable.NO_SUCH_PAGE.
      • getTripleBuffer

        public java.awt.image.BufferedImage getTripleBuffer()
      • createCanvas

        public mxInteractiveCanvas createCanvas()
        Hook for subclassers to replace the graphics canvas for rendering and and printing. This must be overridden to return a custom canvas if there are any custom shapes.
      • createHandler

        public mxCellHandler createHandler​(mxCellState state)
        Parameters:
        state - Cell state for which a handler should be created.
        Returns:
        Returns the handler to be used for the given cell state.
      • createComponents

        public java.awt.Component[] createComponents​(mxCellState state)
        Hook for subclassers to create the array of heavyweights for the given state.
      • insertComponent

        public void insertComponent​(mxCellState state,
                                    java.awt.Component c)
      • removeComponent

        public void removeComponent​(java.awt.Component c,
                                    java.lang.Object cell)
      • updateComponent

        public void updateComponent​(mxCellState state,
                                    java.awt.Component c)
      • updateComponents

        public void updateComponents()
      • removeAllComponents

        public void removeAllComponents​(java.util.Hashtable<java.lang.Object,​java.awt.Component[]> map)
      • removeAllOverlays

        public void removeAllOverlays​(java.util.Hashtable<java.lang.Object,​mxICellOverlay[]> map)
      • updateComponents

        public java.util.Hashtable<java.lang.Object,​java.awt.Component[]> updateComponents​(java.lang.Object cell)
      • validateGraph

        public java.lang.String validateGraph()
        Validates the graph by validating each descendant of the given cell or the root of the model. Context is an object that contains the validation state for the complete validation run. The validation errors are attached to their cells using . This function returns true if no validation errors exist in the graph.
      • validateGraph

        public java.lang.String validateGraph​(java.lang.Object cell,
                                              java.util.Hashtable<java.lang.Object,​java.lang.Object> context)
        Validates the graph by validating each descendant of the given cell or the root of the model. Context is an object that contains the validation state for the complete validation run. The validation errors are attached to their cells using . This function returns true if no validation errors exist in the graph.
        Parameters:
        cell - Cell to start the validation recursion.
        context - Object that represents the global validation state.
      • addCellOverlay

        public mxICellOverlay addCellOverlay​(java.lang.Object cell,
                                             mxICellOverlay overlay)
        Adds an overlay for the specified cell. This method fires an addoverlay event and returns the new overlay.
        Parameters:
        cell - Cell to add the overlay for.
        overlay - Overlay to be added for the cell.
      • getCellOverlays

        public mxICellOverlay[] getCellOverlays​(java.lang.Object cell)
        Returns the array of overlays for the given cell or null, if no overlays are defined.
        Parameters:
        cell - Cell whose overlays should be returned.
      • removeCellOverlay

        public mxICellOverlay removeCellOverlay​(java.lang.Object cell,
                                                mxICellOverlay overlay)
        Removes and returns the given overlay from the given cell. This method fires a remove overlay event. If no overlay is given, then all overlays are removed using removeOverlays.
        Parameters:
        cell - Cell whose overlay should be removed.
        overlay - Optional overlay to be removed.
      • removeCellOverlays

        public mxICellOverlay[] removeCellOverlays​(java.lang.Object cell)
        Removes all overlays from the given cell. This method fires a removeoverlay event for each removed overlay and returns the array of overlays that was removed from the cell.
        Parameters:
        cell - Cell whose overlays should be removed.
      • removeCellOverlayComponent

        protected void removeCellOverlayComponent​(mxICellOverlay overlay,
                                                  java.lang.Object cell)
        Notified when an overlay has been removed from the graph. This implementation removes the given overlay from its parent if it is a component inside a component hierarchy.
      • updateCellOverlayComponent

        protected void updateCellOverlayComponent​(mxCellState state,
                                                  mxICellOverlay overlay)
        Notified when an overlay has been removed from the graph. This implementation removes the given overlay from its parent if it is a component inside a component hierarchy.
      • clearCellOverlays

        public void clearCellOverlays()
        Removes all overlays in the graph.
      • clearCellOverlays

        public void clearCellOverlays​(java.lang.Object cell)
        Removes all overlays in the graph for the given cell and all its descendants. If no cell is specified then all overlays are removed from the graph. This implementation uses removeOverlays to remove the overlays from the individual cells.
        Parameters:
        cell - Optional cell that represents the root of the subtree to remove the overlays from. Default is the root in the model.
      • setCellWarning

        public mxICellOverlay setCellWarning​(java.lang.Object cell,
                                             java.lang.String warning)
        Creates an overlay for the given cell using the warning and image or warningImage and returns the new overlay. If the warning is null or a zero length string, then all overlays are removed from the cell instead.
        Parameters:
        cell - Cell whose warning should be set.
        warning - String that represents the warning to be displayed.
      • setCellWarning

        public mxICellOverlay setCellWarning​(java.lang.Object cell,
                                             java.lang.String warning,
                                             javax.swing.ImageIcon icon)
        Creates an overlay for the given cell using the warning and image or warningImage and returns the new overlay. If the warning is null or a zero length string, then all overlays are removed from the cell instead.
        Parameters:
        cell - Cell whose warning should be set.
        warning - String that represents the warning to be displayed.
        icon - Optional image to be used for the overlay. Default is warningImageBasename.
      • setCellWarning

        public mxICellOverlay setCellWarning​(java.lang.Object cell,
                                             java.lang.String warning,
                                             javax.swing.ImageIcon icon,
                                             boolean select)
        Creates an overlay for the given cell using the warning and image or warningImage and returns the new overlay. If the warning is null or a zero length string, then all overlays are removed from the cell instead.
        Parameters:
        cell - Cell whose warning should be set.
        warning - String that represents the warning to be displayed.
        icon - Optional image to be used for the overlay. Default is warningImageBasename.
        select - Optional boolean indicating if a click on the overlay should select the corresponding cell. Default is false.
      • updateCellOverlays

        public java.util.Hashtable<java.lang.Object,​mxICellOverlay[]> updateCellOverlays​(java.lang.Object cell)
        Returns a hashtable with all entries from the overlays variable where a cell still exists in the model. The entries are removed from the global hashtable so that the remaining entries reflect those whose cell have been removed from the model. If no state is available for a given cell then its overlays are temporarly removed from the rendering control, but kept in the result.
      • paintBackground

        protected void paintBackground​(java.awt.Graphics g)
      • paintBackgroundPage

        protected java.awt.Rectangle paintBackgroundPage​(java.awt.Graphics g)
      • paintBackgroundImage

        protected void paintBackgroundImage​(java.awt.Graphics g)
      • paintGrid

        protected void paintGrid​(java.awt.Graphics g)
        Paints the grid onto the given graphics object.
      • redraw

        public void redraw​(mxCellState state)
        Updates the buffer (if one exists) and repaints the given cell state.
      • checkTripleBuffer

        public void checkTripleBuffer()
        Checks if the triple buffer exists and creates a new one if it does not. Also compares the size of the buffer with the size of the graph and drops the buffer if it has a different size.
      • createTripleBuffer

        protected void createTripleBuffer​(int width,
                                          int height)
        Creates the tripleBufferGraphics and tripleBuffer for the given dimension and draws the complete graph onto the triplebuffer.
        Parameters:
        width -
        height -
      • destroyTripleBuffer

        public void destroyTripleBuffer()
        Destroys the tripleBuffer and tripleBufferGraphics objects.
      • repaintTripleBuffer

        public void repaintTripleBuffer​(java.awt.Rectangle dirty)
        Clears and repaints the triple buffer at the given rectangle or repaints the complete buffer if no rectangle is specified.
        Parameters:
        dirty -
      • isEventsEnabled

        public boolean isEventsEnabled()
        Returns:
        Returns true if event dispatching is enabled in the event source.
        See Also:
        mxEventSource.isEventsEnabled()
      • removeListener

        public void removeListener​(mxEventSource.mxIEventListener listener,
                                   java.lang.String eventName)
        Parameters:
        eventName - Name of the event.
        listener - Listener instance.