edu.udo.cs.yale.gui.plotter
Class BoundDiagram

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 edu.udo.cs.yale.gui.plotter.PlotterAdapter
                      extended by edu.udo.cs.yale.gui.plotter.BoundDiagram
All Implemented Interfaces:
DataTableListener, Plotter, java.awt.event.MouseListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible

public class BoundDiagram
extends PlotterAdapter
implements java.awt.event.MouseListener

A bound diagram used for displaying attribute weights.

Version:
$Id: BoundDiagram.java,v 1.12 2006/08/10 17:05:11 ingomierswa Exp $
Author:
Daniel Hakenjos, Ingo Mierswa
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class edu.udo.cs.yale.gui.plotter.PlotterAdapter
PlotterAdapter.LineStyle, PlotterAdapter.LineStyleIcon
 
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
private  double[] angles
           
private  double[] attributeVectorX
           
private  double[] attributeVectorY
           
private  java.lang.String currentToolTip
           
private  DataTable dataTable
           
private  double maxWeight
           
private  java.lang.String[] names
           
private  int plotIndex
           
private  int radius
           
private static long serialVersionUID
           
private  double toolTipX
           
private  double toolTipY
           
private  double[] values
           
 
Fields inherited from class edu.udo.cs.yale.gui.plotter.PlotterAdapter
GRID_COLOR, LABEL_FONT, LINE_COLORS, LINE_STROKES, LINE_STYLE_ICONS, LINE_STYLES, MARGIN, POINTSIZE, TOOLTIP_COLOR, WEIGHT_BORDER_WIDTH
 
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 edu.udo.cs.yale.gui.plotter.Plotter
MULTIPLE_SELECTION, NO_SELECTION, SINGLE_SELECTION
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
BoundDiagram()
           
BoundDiagram(DataTable dataTable)
           
 
Method Summary
 void calculateAngles()
          Calculates the angles.
 void calculateAttributeVectors()
          Calculate the attribute vectors.
private  void drawToolTip(java.awt.Graphics2D g)
           
private  java.lang.String getAttributeName(int x, int y)
           
 javax.swing.Icon getIcon(int index)
          Returns a line icon depending on the index.
 boolean getPlotColumn(int index)
          Returns false.
 java.lang.String getPlotName()
          Returns null.
 void mouseClicked(java.awt.event.MouseEvent event)
           
 void mouseDragged(java.awt.event.MouseEvent arg0)
           
 void mouseEntered(java.awt.event.MouseEvent arg0)
           
 void mouseExited(java.awt.event.MouseEvent arg0)
           
 void mouseMoved(java.awt.event.MouseEvent event)
           
 void mousePressed(java.awt.event.MouseEvent arg0)
           
 void mouseReleased(java.awt.event.MouseEvent event)
           
 void paintComponent(java.awt.Graphics g)
          Invokes super method and sets correct color schemes.
private  void prepareData()
           
 void setDataTable(DataTable dataTable)
          Since this method already adds this object as a listener, all methods overriding this one should invoke the super method.
 void setPlotColumn(int index, boolean plot)
          Does nothing.
private  void setToolTip(java.lang.String toolTip, double x, double y)
           
private  double sin(double angle)
          Gets the sinus of the angle.
 
Methods inherited from class edu.udo.cs.yale.gui.plotter.PlotterAdapter
canHandleJitter, canHandleZooming, dataTableUpdated, drawLegend, drawLegend, drawPoint, drawToolTip, drawWeightRectangle, getAxis, getAxisName, getIdForPos, getInitialZoomFactor, getMaxWeight, getNumberOfAxes, getNumberOfPlots, getNumericalTicSize, getOptionsComponent, getPlotter, getPlotterCondition, getPointColor, getPointColor, getPointColorValue, getPositionInDataSpace, getTicSize, getValuePlotSelectionType, getWeightColor, hasOptionsDialog, hasSaveImageButton, isProvidingCoordinates, isSaveable, save, setAxis, setDragBounds, setDrawRange, setJitter, setKey, setMousePosInDataSpace, setZooming, showOptionsDialog
 
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, 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, 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
 
Methods inherited from interface edu.udo.cs.yale.gui.plotter.Plotter
addMouseListener, addMouseMotionListener
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

values

private double[] values

maxWeight

private double maxWeight

names

private java.lang.String[] names

radius

private int radius

currentToolTip

private java.lang.String currentToolTip

toolTipX

private double toolTipX

toolTipY

private double toolTipY

angles

private double[] angles

attributeVectorX

private double[] attributeVectorX

attributeVectorY

private double[] attributeVectorY

plotIndex

private int plotIndex

dataTable

private DataTable dataTable
Constructor Detail

BoundDiagram

public BoundDiagram()

BoundDiagram

public BoundDiagram(DataTable dataTable)
Method Detail

setDataTable

public void setDataTable(DataTable dataTable)
Description copied from class: PlotterAdapter
Since this method already adds this object as a listener, all methods overriding this one should invoke the super method.

Specified by:
setDataTable in interface Plotter
Overrides:
setDataTable in class PlotterAdapter


calculateAngles

public void calculateAngles()
Calculates the angles.


calculateAttributeVectors

public void calculateAttributeVectors()
Calculate the attribute vectors.


sin

private double sin(double angle)
Gets the sinus of the angle.

Parameters:
angle -


prepareData

private void prepareData()

paintComponent

public void paintComponent(java.awt.Graphics g)
Description copied from class: PlotterAdapter
Invokes super method and sets correct color schemes. Should be overwritten by children, but invokation of this super method must still be performed in order to get correct color schemes.

Overrides:
paintComponent in class PlotterAdapter


drawToolTip

private void drawToolTip(java.awt.Graphics2D g)

setToolTip

private void setToolTip(java.lang.String toolTip,
                        double x,
                        double y)

getPlotName

public java.lang.String getPlotName()
Description copied from class: PlotterAdapter
Returns null. Subclasses might return another name more fitting the plot selection box or list.

Specified by:
getPlotName in interface Plotter
Overrides:
getPlotName in class PlotterAdapter


setPlotColumn

public void setPlotColumn(int index,
                          boolean plot)
Description copied from class: PlotterAdapter
Does nothing. Subclasses should override this method if they want to allow plot column selection. In this case, the method PlotterAdapter.getPlotColumn(int) should also be overriden.

Specified by:
setPlotColumn in interface Plotter
Overrides:
setPlotColumn in class PlotterAdapter


getPlotColumn

public boolean getPlotColumn(int index)
Description copied from class: PlotterAdapter
Returns false. Subclasses should override this method and return true for the columns which should be plotted.

Specified by:
getPlotColumn in interface Plotter
Overrides:
getPlotColumn in class PlotterAdapter


getIcon

public javax.swing.Icon getIcon(int index)
Description copied from class: PlotterAdapter
Returns a line icon depending on the index.

Specified by:
getIcon in interface Plotter
Overrides:
getIcon in class PlotterAdapter


getAttributeName

private java.lang.String getAttributeName(int x,
                                          int y)

mouseClicked

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

mouseReleased

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

mouseEntered

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

mouseExited

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

mousePressed

public void mousePressed(java.awt.event.MouseEvent arg0)
Specified by:
mousePressed in interface java.awt.event.MouseListener

mouseDragged

public void mouseDragged(java.awt.event.MouseEvent arg0)

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent event)


Copyright © 2001-2006