org.latdraw.beans
Class DrawPanel

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by org.latdraw.beans.DrawPanel
All Implemented Interfaces:
java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.awt.print.Printable, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible

public class DrawPanel
extends javax.swing.JPanel
implements java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.print.Printable

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
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.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
static java.lang.String ROTATION
           
static java.lang.String STARTED
           
static java.lang.String STOPPED
           
 
Fields inherited from class javax.swing.JComponent
accessibleContext, 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
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.print.Printable
NO_SUCH_PAGE, PAGE_EXISTS
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
DrawPanel()
           
DrawPanel(Diagram d)
           
 
Method Summary
protected  java.awt.Shape bigRect(java.awt.geom.Point2D p)
           
 void decreaseAttraction()
           
 void decreaseReplusion()
           
 Vertex[] edgeAt(java.awt.geom.Point2D mousePt)
          Return the edge at x, y for the raw mouse x and y.
 void eraseElem(java.awt.Graphics2D g, Vertex p, java.awt.geom.AffineTransform l2s)
           
 java.beans.PropertyChangeSupport getChangeSupport()
           
 Diagram getDiagram()
           
 Vertex[] getEdgeAt(int xc, int yc)
          Return the edge at x, y for the raw mouse x and y.
 java.awt.Color getEdgeColor(java.lang.String str)
           
 java.awt.Color getHighlightColor()
           
 java.awt.Color getLabelBackgroundColor()
          Each vertex can override this.
 void getLabelBackgroundColor(java.awt.Color v)
          Each vertex can override this.
 java.awt.Font getLabelFont()
          Each vertex can override this.
 void getLabelFont(java.awt.Font v)
          Each vertex can override this.
 java.awt.Color getLabelForegroundColor()
          Each vertex can override this.
 void getLabelForegroundColor(java.awt.Color v)
          Each vertex can override this.
 javax.swing.Timer getRotationTimer()
           
 void improve()
           
 void improveMany(int k, boolean repaint)
           
 void improveOnce()
           
 void improveWithDelay(int count)
           
 void improveWithoutDelay(int count)
           
 void increaseAttraction()
           
 void increaseReplusion()
           
 boolean isDraggingAllowed()
           
 boolean isDraggingHorizontal()
           
 boolean isRotating()
           
 void mouseClicked(java.awt.event.MouseEvent me)
           
 void mouseDragged(java.awt.event.MouseEvent me)
           
 void mouseEntered(java.awt.event.MouseEvent me)
           
 void mouseExited(java.awt.event.MouseEvent me)
           
 void mouseMoved(java.awt.event.MouseEvent me)
           
 void mousePressed(java.awt.event.MouseEvent me)
          Let the "changeSupport" know something was clicked.
 void mouseReleased(java.awt.event.MouseEvent me)
           
 void paint(java.awt.Graphics g)
           
 void paint(java.awt.Graphics g, boolean noWhite)
           
 void paintBackground(java.awt.Graphics2D g2)
           
 void paintCovers(java.awt.Graphics2D g)
           
 void paintCovers(java.awt.Graphics2D g, boolean noWhite)
           
 void paintElem(java.awt.Graphics2D g, Vertex p, java.awt.geom.AffineTransform l2s)
           
 void paintElems(java.awt.Graphics2D g, boolean erase)
           
 void paintLabel(java.awt.Graphics2D g, Vertex p, int x, int y)
           
 int print(java.awt.Graphics g, java.awt.print.PageFormat pf, int pageIndex)
           
 boolean printDialog()
           
 void rotateLeft()
           
 void rotateOnce()
           
 void setAllowedVertices(java.util.Set<Vertex> verts)
          If allowedVertices is not null, only those vertices (and edges) are drawn.
 void setDiagram(Diagram d)
          Set and setup the diagram and repaint.
 void setDraggingAllowed(boolean v)
           
 void setDraggingHorizontal(boolean v)
           
 void setHighlightColor(java.awt.Color v)
           
 void setImproveDelay(int delay)
           
 void setup(Diagram d)
          Setup the diagram in the drawing panel.
 void setupEdgeColorMap()
           
 void setUseImproveDelay(boolean v)
           
 void startRotation()
           
 void stopRotation()
           
protected  Vertex vertexAt(java.awt.geom.Point2D pt)
          Find the vertex at pt for the mouse point in screen coordinates.
 void writeRSFDiagram(java.lang.String file)
           
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, 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, 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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, 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
 
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, setLayout, transferFocusBackward, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ROTATION

public static final java.lang.String ROTATION
See Also:
Constant Field Values

STARTED

public static final java.lang.String STARTED
See Also:
Constant Field Values

STOPPED

public static final java.lang.String STOPPED
See Also:
Constant Field Values
Constructor Detail

DrawPanel

public DrawPanel()

DrawPanel

public DrawPanel(Diagram d)
Method Detail

setAllowedVertices

public void setAllowedVertices(java.util.Set<Vertex> verts)
If allowedVertices is not null, only those vertices (and edges) are drawn.


setUseImproveDelay

public void setUseImproveDelay(boolean v)

setImproveDelay

public void setImproveDelay(int delay)

getDiagram

public Diagram getDiagram()

setDiagram

public void setDiagram(Diagram d)
Set and setup the diagram and repaint.


setup

public void setup(Diagram d)
Setup the diagram in the drawing panel.


increaseAttraction

public void increaseAttraction()

increaseReplusion

public void increaseReplusion()

decreaseAttraction

public void decreaseAttraction()

decreaseReplusion

public void decreaseReplusion()

getLabelForegroundColor

public java.awt.Color getLabelForegroundColor()
Each vertex can override this.


getLabelForegroundColor

public void getLabelForegroundColor(java.awt.Color v)
Each vertex can override this.


getLabelBackgroundColor

public java.awt.Color getLabelBackgroundColor()
Each vertex can override this.


getLabelBackgroundColor

public void getLabelBackgroundColor(java.awt.Color v)
Each vertex can override this.


getLabelFont

public java.awt.Font getLabelFont()
Each vertex can override this.


getLabelFont

public void getLabelFont(java.awt.Font v)
Each vertex can override this.


isDraggingAllowed

public boolean isDraggingAllowed()

setDraggingAllowed

public void setDraggingAllowed(boolean v)

isDraggingHorizontal

public boolean isDraggingHorizontal()

setDraggingHorizontal

public void setDraggingHorizontal(boolean v)

getChangeSupport

public java.beans.PropertyChangeSupport getChangeSupport()

paintBackground

public void paintBackground(java.awt.Graphics2D g2)

paint

public void paint(java.awt.Graphics g)
Overrides:
paint in class javax.swing.JComponent

paint

public void paint(java.awt.Graphics g,
                  boolean noWhite)

print

public int print(java.awt.Graphics g,
                 java.awt.print.PageFormat pf,
                 int pageIndex)
Specified by:
print in interface java.awt.print.Printable

printDialog

public boolean printDialog()

mousePressed

public void mousePressed(java.awt.event.MouseEvent me)
Let the "changeSupport" know something was clicked.

Specified by:
mousePressed in interface java.awt.event.MouseListener

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent me)
Specified by:
mouseClicked in interface java.awt.event.MouseListener

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent me)
Specified by:
mouseMoved in interface java.awt.event.MouseMotionListener

mouseDragged

public void mouseDragged(java.awt.event.MouseEvent me)
Specified by:
mouseDragged in interface java.awt.event.MouseMotionListener

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent me)
Specified by:
mouseReleased in interface java.awt.event.MouseListener

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent me)
Specified by:
mouseEntered in interface java.awt.event.MouseListener

mouseExited

public void mouseExited(java.awt.event.MouseEvent me)
Specified by:
mouseExited in interface java.awt.event.MouseListener

paintLabel

public void paintLabel(java.awt.Graphics2D g,
                       Vertex p,
                       int x,
                       int y)

paintCovers

public void paintCovers(java.awt.Graphics2D g)

paintCovers

public void paintCovers(java.awt.Graphics2D g,
                        boolean noWhite)

setupEdgeColorMap

public void setupEdgeColorMap()

getEdgeColor

public java.awt.Color getEdgeColor(java.lang.String str)

paintElems

public void paintElems(java.awt.Graphics2D g,
                       boolean erase)

edgeAt

public Vertex[] edgeAt(java.awt.geom.Point2D mousePt)
Return the edge at x, y for the raw mouse x and y.


getEdgeAt

public Vertex[] getEdgeAt(int xc,
                          int yc)
Return the edge at x, y for the raw mouse x and y.


bigRect

protected java.awt.Shape bigRect(java.awt.geom.Point2D p)

vertexAt

protected Vertex vertexAt(java.awt.geom.Point2D pt)
Find the vertex at pt for the mouse point in screen coordinates.


paintElem

public void paintElem(java.awt.Graphics2D g,
                      Vertex p,
                      java.awt.geom.AffineTransform l2s)

setHighlightColor

public void setHighlightColor(java.awt.Color v)

getHighlightColor

public java.awt.Color getHighlightColor()

eraseElem

public void eraseElem(java.awt.Graphics2D g,
                      Vertex p,
                      java.awt.geom.AffineTransform l2s)

isRotating

public boolean isRotating()

rotateOnce

public void rotateOnce()

rotateLeft

public void rotateLeft()

getRotationTimer

public javax.swing.Timer getRotationTimer()

startRotation

public void startRotation()

stopRotation

public void stopRotation()

improveWithoutDelay

public void improveWithoutDelay(int count)

improveWithDelay

public void improveWithDelay(int count)

improveOnce

public void improveOnce()

improve

public void improve()

improveMany

public void improveMany(int k,
                        boolean repaint)

writeRSFDiagram

public void writeRSFDiagram(java.lang.String file)


Copyright 2003 Ralph Freese. All Rights Reserved.