Class ScalableViewPanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JLayeredPane
-
- org.processmining.framework.util.ui.scalableview.ScalableViewPanel
-
- All Implemented Interfaces:
java.awt.event.MouseMotionListener,java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,java.util.EventListener,javax.accessibility.Accessible,javax.swing.event.ChangeListener,org.processmining.framework.util.Cleanable,ScalableComponent.UpdateListener
- Direct Known Subclasses:
ProMJGraphPanel
public class ScalableViewPanel extends javax.swing.JLayeredPane implements org.processmining.framework.util.Cleanable, javax.swing.event.ChangeListener, java.awt.event.MouseMotionListener, ScalableComponent.UpdateListener
Panel for visualizing components.- Author:
- hverbeek
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JLayeredPane
javax.swing.JLayeredPane.AccessibleJLayeredPane
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description protected com.fluxicon.slickerbox.factory.SlickerDecoratordecoratorprotected com.fluxicon.slickerbox.factory.SlickerFactoryfactorystatic intMAX_ZOOMThe maximal zoom factor for the primary view on the transition system.protected ScalableComponentscalableThe access to scalable methods of primary viewprotected javax.swing.JScrollPanescrollThe scroll pane containing the primary view on the transition system.static intTAB_HEIGHTstatic intTAB_WIDTH-
Fields inherited from class javax.swing.JLayeredPane
DEFAULT_LAYER, DRAG_LAYER, FRAME_CONTENT_LAYER, LAYER_PROPERTY, MODAL_LAYER, PALETTE_LAYER, POPUP_LAYER
-
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
-
-
Constructor Summary
Constructors Constructor Description ScalableViewPanel(ScalableComponent scalableComponent)Create a panel for visualizing the given view.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddButton(javax.swing.JLabel label, java.awt.event.ActionListener listener, int location)Adds a button to one of the positions on the screen indicated by the location parameter.voidaddViewInteractionPanel(ViewInteractionPanel panel, int location)Adds the interaction panel at the given location.voidcleanUp()Clean up.voidfinalize()Deals with garbage collection.javax.swing.JComponentgetComponent()javax.swing.JScrollBargetHorizontalScrollBar()doublegetScale()Returns the zoom factor of the primary view.javax.swing.JScrollBargetVerticalScrollBar()java.util.Map<ViewInteractionPanel,java.lang.Integer>getViewInteractionPanels()List all registered interaction panels and their locations.javax.swing.JViewportgetViewport()protected voidinitialize()voidmouseDragged(java.awt.event.MouseEvent e)voidmouseMoved(java.awt.event.MouseEvent e)voidremoveViewInteractionPanel(ViewInteractionPanel panel)Remove a previously added interaction panel from the ScalableViewPanel.voidscaleToFit()voidsetLocation(ViewInteractionPanel panel, javax.swing.JPanel panelOff, javax.swing.JPanel panelOn)voidsetScale(double d)Sets the zoom factor of the primary view to the given factor.voidsetSize(ViewInteractionPanel panel, javax.swing.JPanel panelOff, javax.swing.JPanel panelOn)voidstateChanged(javax.swing.event.ChangeEvent e)Deals with change events.voidupdated()This method should be called if the component is updated (layout, content, etc.)-
Methods inherited from class javax.swing.JLayeredPane
addImpl, getAccessibleContext, getComponentCountInLayer, getComponentsInLayer, getComponentToLayer, getIndexOf, getLayer, getLayer, getLayeredPaneAbove, getObjectForLayer, getPosition, highestLayer, insertIndexForLayer, isOptimizedDrawingEnabled, lowestLayer, moveToBack, moveToFront, paint, paramString, putLayer, remove, removeAll, setLayer, setLayer, setPosition
-
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, getUI, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, 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, updateUI
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, 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, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, 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, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
MAX_ZOOM
public static final int MAX_ZOOM
The maximal zoom factor for the primary view on the transition system.- See Also:
- Constant Field Values
-
scalable
protected final ScalableComponent scalable
The access to scalable methods of primary view
-
scroll
protected javax.swing.JScrollPane scroll
The scroll pane containing the primary view on the transition system.
-
factory
protected com.fluxicon.slickerbox.factory.SlickerFactory factory
-
decorator
protected com.fluxicon.slickerbox.factory.SlickerDecorator decorator
-
TAB_HEIGHT
public static final int TAB_HEIGHT
- See Also:
- Constant Field Values
-
TAB_WIDTH
public static final int TAB_WIDTH
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ScalableViewPanel
public ScalableViewPanel(ScalableComponent scalableComponent)
Create a panel for visualizing the given view.- Parameters:
scalableComponent- The given graph
-
-
Method Detail
-
addViewInteractionPanel
public void addViewInteractionPanel(ViewInteractionPanel panel, int location)
Adds the interaction panel at the given location. Location is one of SwingConstants.NORTH, SwingConstants.SOUTH, SwingConstants.EAST, or SwingConstants.WEST- Parameters:
panel-location-
-
removeViewInteractionPanel
public void removeViewInteractionPanel(ViewInteractionPanel panel)
Remove a previously added interaction panel from the ScalableViewPanel. This can be used to remove an interaction panel from the ScalableViewPanel. If the interaction panel does not exist, nothing will be removed.- Parameters:
panel- The panel that should be removed.
-
getViewInteractionPanels
public java.util.Map<ViewInteractionPanel,java.lang.Integer> getViewInteractionPanels()
List all registered interaction panels and their locations.- Returns:
- Map of interaction panels and their locations.
-
mouseMoved
public void mouseMoved(java.awt.event.MouseEvent e)
- Specified by:
mouseMovedin interfacejava.awt.event.MouseMotionListener
-
mouseDragged
public void mouseDragged(java.awt.event.MouseEvent e)
- Specified by:
mouseDraggedin interfacejava.awt.event.MouseMotionListener
-
addButton
public void addButton(javax.swing.JLabel label, java.awt.event.ActionListener listener, int location)Adds a button to one of the positions on the screen indicated by the location parameter. Should be SwingConstants.NORTH_EAST, SwingConstants.SOUTH_EAST SwingConstants.NORTH_WEST, SwingConstants.SOUTH_WEST- Parameters:
label-listener-location-
-
initialize
protected void initialize()
-
setSize
public void setSize(ViewInteractionPanel panel, javax.swing.JPanel panelOff, javax.swing.JPanel panelOn)
-
setLocation
public void setLocation(ViewInteractionPanel panel, javax.swing.JPanel panelOff, javax.swing.JPanel panelOn)
-
getHorizontalScrollBar
public javax.swing.JScrollBar getHorizontalScrollBar()
-
getVerticalScrollBar
public javax.swing.JScrollBar getVerticalScrollBar()
-
getScale
public double getScale()
Returns the zoom factor of the primary view.- Returns:
- The zoom factor of the primary view.
-
setScale
public void setScale(double d)
Sets the zoom factor of the primary view to the given factor.- Parameters:
d- The given factor.
-
cleanUp
public void cleanUp()
Clean up.- Specified by:
cleanUpin interfaceorg.processmining.framework.util.Cleanable
-
stateChanged
public void stateChanged(javax.swing.event.ChangeEvent e)
Deals with change events.- Specified by:
stateChangedin interfacejavax.swing.event.ChangeListener
-
finalize
public void finalize() throws java.lang.ThrowableDeals with garbage collection.- Overrides:
finalizein classjava.lang.Object- Throws:
java.lang.Throwable
-
updated
public void updated()
Description copied from interface:ScalableComponent.UpdateListenerThis method should be called if the component is updated (layout, content, etc.)- Specified by:
updatedin interfaceScalableComponent.UpdateListener
-
getViewport
public javax.swing.JViewport getViewport()
-
scaleToFit
public void scaleToFit()
-
getComponent
public javax.swing.JComponent getComponent()
-
-