EDU.utwente.CoCompose.gui
Class AngleControl

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--EDU.utwente.CoCompose.gui.AngleControl
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class AngleControl
extends javax.swing.JPanel

A class that allows control of a 3D viewpoint angle in polar coordinates (phi, theta). A StateChanged event is fired when the user drags the crosshair with the mouse. Based upon EDU.auburn.VGJ.gui.AngleControl. Adapted for use with Swing.

Version:
0.1.10, 22 July 2003
Author:
Dennis Wagelaar, Larry Barowski
See Also:
AngleControl, Serialized Form

Inner classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Inner classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent
 
Field Summary
protected  javax.swing.event.ChangeEvent changeEvent
          Only one ChangeEvent is needed per instance since the event's only state is the source property.
 
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
AngleControl()
          Constructs an AngleControl.
 
Method Summary
 void addChangeListener(javax.swing.event.ChangeListener l)
          Adds a ChangeListener to the viewport scroller.
protected  void drawLabels(java.awt.Graphics g, boolean numbers)
          Draws the labels.
protected  void drawX(java.awt.Graphics g)
          Draws coordinate system.
protected  void fireStateChanged()
          Notifies all listeners that have registered interest for notification on this event type.
 DPoint getAngles()
          Gets the (theta, phi) viewing angles.
 java.awt.Color getBackColor()
          Gets the background drawing color.
 java.awt.Color getLineColor()
          Gets the line drawing color.
 boolean isDragging()
          Returns whether the mouse is dragging.
protected  void paintComponent(java.awt.Graphics g)
          Paints the angle control elements on top of the panel.
protected  void paintComponentBuffer(java.awt.Graphics g)
          Paints the angle control elements on top of the panel.
protected  void processMove(int x, int y)
          Processes a move of mouse coordinates
 void removeChangeListener(javax.swing.event.ChangeListener l)
          Removes a ChangeListener from the viewport scroller.
 void setAngles(double theta, double phi)
          Sets the viewing angles.
 void setBackColor(java.awt.Color color)
          Sets the background drawing color.
 void setLineColor(java.awt.Color color)
          Sets the line drawing color.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUIClassID, paramString, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVerifyInputWhenFocusTarget, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, hide, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setLayout, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, imageUpdate, inside, isDisplayable, isEnabled, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

changeEvent

protected transient javax.swing.event.ChangeEvent changeEvent
Only one ChangeEvent is needed per instance since the event's only state is the source property. The source of events generated is always "this".
Constructor Detail

AngleControl

public AngleControl()
Constructs an AngleControl.
Method Detail

paintComponent

protected void paintComponent(java.awt.Graphics g)
Paints the angle control elements on top of the panel.
Overrides:
paintComponent in class javax.swing.JComponent
Parameters:
g - The graphics context.

paintComponentBuffer

protected void paintComponentBuffer(java.awt.Graphics g)
Paints the angle control elements on top of the panel. Does a partial paint by using the backbuffer.
Parameters:
g - The graphics context.

drawX

protected void drawX(java.awt.Graphics g)
Draws coordinate system.
Parameters:
g - The graphics context

drawLabels

protected void drawLabels(java.awt.Graphics g,
                          boolean numbers)
Draws the labels.
Parameters:
g - The graphics context
numbers - When true, numbers will be drawn.

fireStateChanged

protected void fireStateChanged()
Notifies all listeners that have registered interest for notification on this event type. The event instance is lazily created using the parameters passed into the fire method.
See Also:
EventListenerList

processMove

protected void processMove(int x,
                           int y)
Processes a move of mouse coordinates
Parameters:
x - The mouse x coordinate.
y - The mouse y coordinate.

setAngles

public void setAngles(double theta,
                      double phi)
Sets the viewing angles.
Parameters:
theta - The theta angle.
phi - The phi angle.

getAngles

public DPoint getAngles()
Gets the (theta, phi) viewing angles.
Returns:
The (theta, phi) viewing angles.

getBackColor

public java.awt.Color getBackColor()
Gets the background drawing color.
Returns:
The background drawing color.

setBackColor

public void setBackColor(java.awt.Color color)
Sets the background drawing color.
Parameters:
color - The background drawing color.

getLineColor

public java.awt.Color getLineColor()
Gets the line drawing color.
Returns:
The line drawing color.

setLineColor

public void setLineColor(java.awt.Color color)
Sets the line drawing color.
Parameters:
color - The line drawing color.

isDragging

public boolean isDragging()
Returns whether the mouse is dragging.
Returns:
True if and only if the mouse is dragging.

addChangeListener

public void addChangeListener(javax.swing.event.ChangeListener l)
Adds a ChangeListener to the viewport scroller.
Parameters:
l - the listener to be added

removeChangeListener

public void removeChangeListener(javax.swing.event.ChangeListener l)
Removes a ChangeListener from the viewport scroller.
Parameters:
l - the listener to be removed