public class DefaultView extends ViewPanel implements java.awt.event.WindowListener, java.awt.event.ComponentListener
This base view is an abstract class that provides mechanism that are necessary in any view :
This view also handle a current selection of nodes and sprites.
The main method to implement is render(Graphics2D). This method is
called each time the graph needs to be rendered anew in the canvas.
The render(Graphics2D) is called only when a repainting is really
needed.
All the painting, by default, is deferred to a GraphRenderer
instance. This mechanism allows developers that do not want to mess with the
viewer/view mechanisms to render a graph in any Swing surface.
This abstract view is able to create a frame that is added around this panel (each view is a JPanel instance). The frame can be removed at any time.
This abstract view handles the closing protocol. This means that it will close the view if needed, or only hide it to allow reopening it later. Furthermore it adds the "ui.viewClosed" attribute to the graph when the view is closed or hidden, and removes it when the view is shown. The value of this graph attribute is the identifier of the view.
javax.swing.JPanel.AccessibleJPaneljavax.swing.JComponent.AccessibleJComponent| Modifier and Type | Field and Description |
|---|---|
protected javax.swing.JFrame |
frame
The (optional) frame.
|
protected org.graphstream.ui.graphicGraph.GraphicGraph |
graph
The graph to render, shortcut to the viewers reference.
|
protected org.graphstream.ui.view.util.MouseManager |
mouseClicks
Manager for events with the mouse.
|
protected org.graphstream.ui.view.GraphRenderer |
renderer
The graph renderer.
|
protected org.graphstream.ui.view.util.ShortcutManager |
shortcuts
Manager for events with the keyboard.
|
protected org.graphstream.ui.view.Viewer |
viewer
Parent viewer.
|
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW| Constructor and Description |
|---|
DefaultView(org.graphstream.ui.view.Viewer viewer,
java.lang.String identifier,
org.graphstream.ui.view.GraphRenderer renderer) |
| Modifier and Type | Method and Description |
|---|---|
<T,U> void |
addListener(T descriptor,
U listener) |
java.util.Collection<org.graphstream.ui.graphicGraph.GraphicElement> |
allGraphicElementsIn(java.util.EnumSet<org.graphstream.ui.view.util.InteractiveElement> types,
double x1,
double y1,
double x2,
double y2) |
void |
beginSelectionAt(double x1,
double y1) |
protected void |
checkTitle() |
void |
close(org.graphstream.ui.graphicGraph.GraphicGraph graph) |
void |
componentHidden(java.awt.event.ComponentEvent e) |
void |
componentMoved(java.awt.event.ComponentEvent e) |
void |
componentResized(java.awt.event.ComponentEvent e) |
void |
componentShown(java.awt.event.ComponentEvent e) |
void |
display(org.graphstream.ui.graphicGraph.GraphicGraph graph,
boolean graphChanged) |
void |
enableMouseOptions()
This is a shortcut to a call setMouseManager with a MouseOverMouseManager instance and with
(InteractiveElement.EDGE, InteractiveElement.NODE, InteractiveElement.SPRITE).
|
void |
endSelectionAt(double x2,
double y2) |
org.graphstream.ui.graphicGraph.GraphicElement |
findGraphicElementAt(java.util.EnumSet<org.graphstream.ui.view.util.InteractiveElement> types,
double x,
double y) |
void |
freezeElement(org.graphstream.ui.graphicGraph.GraphicElement element,
boolean frozen) |
org.graphstream.ui.view.camera.Camera |
getCamera() |
void |
moveElementAtPx(org.graphstream.ui.graphicGraph.GraphicElement element,
double x,
double y) |
void |
openInAFrame(boolean on) |
void |
paintComponent(java.awt.Graphics g) |
<T,U> void |
removeListener(T descriptor,
U listener) |
void |
render(java.awt.Graphics2D g) |
java.lang.Object |
requireFocus() |
void |
resizeFrame(int width,
int height)
Set the size of the view frame, if any.
|
void |
selectionGrowsAt(double x,
double y) |
void |
setBackLayerRenderer(org.graphstream.ui.view.LayerRenderer<java.awt.Graphics2D> renderer) |
void |
setForeLayoutRenderer(org.graphstream.ui.view.LayerRenderer<java.awt.Graphics2D> renderer) |
void |
setMouseManager(org.graphstream.ui.view.util.MouseManager manager) |
void |
setShortcutManager(org.graphstream.ui.view.util.ShortcutManager manager) |
void |
windowActivated(java.awt.event.WindowEvent e) |
void |
windowClosed(java.awt.event.WindowEvent e) |
void |
windowClosing(java.awt.event.WindowEvent e) |
void |
windowDeactivated(java.awt.event.WindowEvent e) |
void |
windowDeiconified(java.awt.event.WindowEvent e) |
void |
windowIconified(java.awt.event.WindowEvent e) |
void |
windowOpened(java.awt.event.WindowEvent e) |
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIaddAncestorListener, 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, isValidateRoot, paint, paintBorder, paintChildren, 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, updateadd, 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, setLayout, transferFocusDownCycle, validate, validateTreeaction, 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, getPeer, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycleprotected org.graphstream.ui.view.Viewer viewer
protected org.graphstream.ui.graphicGraph.GraphicGraph graph
protected javax.swing.JFrame frame
protected org.graphstream.ui.view.util.ShortcutManager shortcuts
protected org.graphstream.ui.view.util.MouseManager mouseClicks
protected org.graphstream.ui.view.GraphRenderer renderer
public DefaultView(org.graphstream.ui.view.Viewer viewer,
java.lang.String identifier,
org.graphstream.ui.view.GraphRenderer renderer)
public org.graphstream.ui.view.camera.Camera getCamera()
getCamera in interface org.graphstream.ui.view.Viewpublic void display(org.graphstream.ui.graphicGraph.GraphicGraph graph,
boolean graphChanged)
display in interface org.graphstream.ui.view.Viewpublic void paintComponent(java.awt.Graphics g)
paintComponent in class javax.swing.JComponentprotected void checkTitle()
public void close(org.graphstream.ui.graphicGraph.GraphicGraph graph)
close in interface org.graphstream.ui.view.Viewpublic void resizeFrame(int width,
int height)
ViewPanelresizeFrame in class ViewPanelwidth - The new width.height - The new height.public void openInAFrame(boolean on)
openInAFrame in interface org.graphstream.ui.view.Viewpublic void render(java.awt.Graphics2D g)
public void beginSelectionAt(double x1,
double y1)
beginSelectionAt in interface org.graphstream.ui.view.Viewpublic void selectionGrowsAt(double x,
double y)
selectionGrowsAt in interface org.graphstream.ui.view.Viewpublic void endSelectionAt(double x2,
double y2)
endSelectionAt in interface org.graphstream.ui.view.Viewpublic void windowActivated(java.awt.event.WindowEvent e)
windowActivated in interface java.awt.event.WindowListenerpublic void windowClosed(java.awt.event.WindowEvent e)
windowClosed in interface java.awt.event.WindowListenerpublic void windowClosing(java.awt.event.WindowEvent e)
windowClosing in interface java.awt.event.WindowListenerpublic void windowDeactivated(java.awt.event.WindowEvent e)
windowDeactivated in interface java.awt.event.WindowListenerpublic void windowDeiconified(java.awt.event.WindowEvent e)
windowDeiconified in interface java.awt.event.WindowListenerpublic void windowIconified(java.awt.event.WindowEvent e)
windowIconified in interface java.awt.event.WindowListenerpublic void windowOpened(java.awt.event.WindowEvent e)
windowOpened in interface java.awt.event.WindowListenerpublic void componentHidden(java.awt.event.ComponentEvent e)
componentHidden in interface java.awt.event.ComponentListenerpublic void componentMoved(java.awt.event.ComponentEvent e)
componentMoved in interface java.awt.event.ComponentListenerpublic void componentResized(java.awt.event.ComponentEvent e)
componentResized in interface java.awt.event.ComponentListenerpublic void componentShown(java.awt.event.ComponentEvent e)
componentShown in interface java.awt.event.ComponentListenerpublic java.util.Collection<org.graphstream.ui.graphicGraph.GraphicElement> allGraphicElementsIn(java.util.EnumSet<org.graphstream.ui.view.util.InteractiveElement> types,
double x1,
double y1,
double x2,
double y2)
allGraphicElementsIn in interface org.graphstream.ui.view.Viewpublic org.graphstream.ui.graphicGraph.GraphicElement findGraphicElementAt(java.util.EnumSet<org.graphstream.ui.view.util.InteractiveElement> types,
double x,
double y)
findGraphicElementAt in interface org.graphstream.ui.view.Viewpublic void moveElementAtPx(org.graphstream.ui.graphicGraph.GraphicElement element,
double x,
double y)
moveElementAtPx in interface org.graphstream.ui.view.Viewpublic void freezeElement(org.graphstream.ui.graphicGraph.GraphicElement element,
boolean frozen)
freezeElement in interface org.graphstream.ui.view.Viewpublic void setBackLayerRenderer(org.graphstream.ui.view.LayerRenderer<java.awt.Graphics2D> renderer)
public void setForeLayoutRenderer(org.graphstream.ui.view.LayerRenderer<java.awt.Graphics2D> renderer)
public void setMouseManager(org.graphstream.ui.view.util.MouseManager manager)
setMouseManager in interface org.graphstream.ui.view.Viewpublic void enableMouseOptions()
enableMouseOptions in interface org.graphstream.ui.view.ViewenableMouseOptions in class ViewPanelpublic void setShortcutManager(org.graphstream.ui.view.util.ShortcutManager manager)
setShortcutManager in interface org.graphstream.ui.view.Viewpublic java.lang.Object requireFocus()
requireFocus in interface org.graphstream.ui.view.Viewpublic <T,U> void addListener(T descriptor,
U listener)
addListener in interface org.graphstream.ui.view.Viewpublic <T,U> void removeListener(T descriptor,
U listener)
removeListener in interface org.graphstream.ui.view.View