org.acm.seguin.uml.line
Class ScalablePanel

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.acm.seguin.uml.line.ScalablePanel
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
Direct Known Subclasses:
EndPointPanel, RoleHolder, SizableLabel

public abstract class ScalablePanel
extends javax.swing.JPanel

Panel that can be scaled and shifted

Version:
$Id: ScalablePanel.java,v 1.4 2003/07/29 20:51:57 mikeatkinson Exp $
Author:
Chris Seguin, Mike Atkinson
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.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
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.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
ScalablePanel()
          Constructor for the ScalablePanel object
ScalablePanel(boolean doubleBuffered)
          Constructor for the ScalablePanel object
ScalablePanel(java.awt.LayoutManager layout)
          Constructor for the ScalablePanel object
ScalablePanel(java.awt.LayoutManager layout, boolean doubleBuffered)
          Constructor for the ScalablePanel object
 
Method Summary
protected  double getScale()
          Return the scaling factor
 java.awt.Rectangle getUnscaledBounds()
          Get the bounds without scaling factors
 java.awt.Point getUnscaledLocation()
          Computes the location without the scaling factor
 void move(int x, int y)
          Invokes old version of setLocation
 void reshape(int x, int y, int w, int h)
          Description of the Method
 void resize(java.awt.Dimension dim)
          Description of the Method
 void resize(int w, int h)
          Description of the Method
 void scale(double value)
          Scales the image
protected  int scaleInteger(int value)
          Scale the integer
 void setBounds(int x, int y, int w, int h)
          Sets the Bounds attribute of the ScalablePanel object
 void setBounds(java.awt.Rectangle rect)
          Sets the Bounds attribute of the ScalablePanel object
 void setLocation(int x, int y)
          Sets the Location attribute of the ScalablePanel object
 void setLocation(java.awt.Point pt)
          Sets the Location attribute of the ScalablePanel object
 void setSize(java.awt.Dimension dim)
          Sets the Size attribute of the ScalablePanel object
 void setSize(int w, int h)
          Sets the Size attribute of the ScalablePanel object
 void shift(int x, int y)
          This method moves the class diagram around on the screen
protected  int unscaleInteger(int value)
          Inverse of the scaleInteger operation
 
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, 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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, 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, 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, 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, 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, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setName, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ScalablePanel

public ScalablePanel()
Constructor for the ScalablePanel object


ScalablePanel

public ScalablePanel(boolean doubleBuffered)
Constructor for the ScalablePanel object

Parameters:
doubleBuffered - Description of Parameter

ScalablePanel

public ScalablePanel(java.awt.LayoutManager layout)
Constructor for the ScalablePanel object

Parameters:
layout - Description of Parameter

ScalablePanel

public ScalablePanel(java.awt.LayoutManager layout,
                     boolean doubleBuffered)
Constructor for the ScalablePanel object

Parameters:
layout - Description of Parameter
doubleBuffered - Description of Parameter
Method Detail

setLocation

public void setLocation(int x,
                        int y)
Sets the Location attribute of the ScalablePanel object

Overrides:
setLocation in class java.awt.Component
Parameters:
x - The new Location value
y - The new Location value

setLocation

public void setLocation(java.awt.Point pt)
Sets the Location attribute of the ScalablePanel object

Overrides:
setLocation in class java.awt.Component
Parameters:
pt - The new Location value

setSize

public void setSize(int w,
                    int h)
Sets the Size attribute of the ScalablePanel object

Overrides:
setSize in class java.awt.Component
Parameters:
w - The new Size value
h - The new Size value

setSize

public void setSize(java.awt.Dimension dim)
Sets the Size attribute of the ScalablePanel object

Overrides:
setSize in class java.awt.Component
Parameters:
dim - The new Size value

setBounds

public void setBounds(int x,
                      int y,
                      int w,
                      int h)
Sets the Bounds attribute of the ScalablePanel object

Overrides:
setBounds in class java.awt.Component
Parameters:
x - The new Bounds value
y - The new Bounds value
w - The new Bounds value
h - The new Bounds value

setBounds

public void setBounds(java.awt.Rectangle rect)
Sets the Bounds attribute of the ScalablePanel object

Overrides:
setBounds in class java.awt.Component
Parameters:
rect - The new Bounds value

shift

public void shift(int x,
                  int y)
This method moves the class diagram around on the screen

Parameters:
x - the x coordinate (scaled value)
y - the y coordinate (scaled value)

scale

public void scale(double value)
Scales the image

Parameters:
value - the amount to scale

move

public void move(int x,
                 int y)
Invokes old version of setLocation

Overrides:
move in class java.awt.Component
Parameters:
x - Description of Parameter
y - Description of Parameter

resize

public void resize(int w,
                   int h)
Description of the Method

Overrides:
resize in class java.awt.Component
Parameters:
w - Description of Parameter
h - Description of Parameter

resize

public void resize(java.awt.Dimension dim)
Description of the Method

Overrides:
resize in class java.awt.Component
Parameters:
dim - Description of Parameter

reshape

public void reshape(int x,
                    int y,
                    int w,
                    int h)
Description of the Method

Overrides:
reshape in class javax.swing.JComponent
Parameters:
x - Description of Parameter
y - Description of Parameter
w - Description of Parameter
h - Description of Parameter

getScale

protected double getScale()
Return the scaling factor

Returns:
the scaling factor

scaleInteger

protected int scaleInteger(int value)
Scale the integer

Parameters:
value - the value to be converted
Returns:
the scaled version

getUnscaledBounds

public java.awt.Rectangle getUnscaledBounds()
Get the bounds without scaling factors

Returns:
the rectangle containing the boundaries

getUnscaledLocation

public java.awt.Point getUnscaledLocation()
Computes the location without the scaling factor

Returns:
the unscaled location

unscaleInteger

protected int unscaleInteger(int value)
Inverse of the scaleInteger operation

Parameters:
value - the input value
Returns:
the result of the unscape operation