edu.iastate.metnet.metaomgraph.chart
Class MetaOmChartPanel

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.iastate.metnet.metaomgraph.chart.MetaOmChartPanel
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, org.jfree.chart.ChartMouseListener, org.jfree.chart.event.ChartChangeListener

public class MetaOmChartPanel
extends javax.swing.JPanel
implements org.jfree.chart.event.ChartChangeListener, org.jfree.chart.ChartMouseListener, java.awt.event.ActionListener

A panel containing a chart of the given data.

Author:
Nick Ransom
See Also:
Serialized Form

Nested Class Summary
 class MetaOmChartPanel.ExperimentFormat
          Replaces the domain axis tick mark labels with column names.
 class MetaOmChartPanel.MetaOmFrame
           
 
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
 
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
MetaOmChartPanel(int[] selected, java.lang.String xaxisLabel, java.lang.String yaxisLabel, java.lang.String title, java.awt.Color color1, java.awt.Color color2, MetaOmProject project)
          Constructs a chart panel using the given values.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
           
 void changeSeriesColor(int series)
           
 void chartChanged(org.jfree.chart.event.ChartChangeEvent event)
           
 void chartMouseClicked(org.jfree.chart.ChartMouseEvent event)
           
 void chartMouseMoved(org.jfree.chart.ChartMouseEvent event)
           
 java.awt.Point chartToScreen(java.awt.geom.Point2D p)
           
 void createInternalFrame()
          Constructs and displays an internal frame on the MetaOmGraph desktop containg this chart panel.
 void enableRangeSelection()
           
 java.lang.String getAnnotationText()
           
 ChartAnnotator getAnnotator()
           
 org.jfree.chart.JFreeChart getChart()
           
 org.jfree.chart.ChartPanel getChartPanel()
           
 java.awt.geom.Point2D getCrosshairPoint()
           
 DataSorter getDataSorter()
           
 MetaOmChartPanel.ExperimentFormat getFormatter()
           
 PointInfoPanel getInfoPanel()
           
 MetaOmProject getProject()
           
 int getProjectRow(int chartSeries)
           
 RangeSelector getRangeSelector()
           
 org.jfree.chart.renderer.xy.XYLineAndShapeRenderer getRenderer()
           
 java.lang.String getSelectedColumn()
           
 java.awt.geom.Point2D getSelectedPoint()
           
 int[] getSelectedRows()
           
 int getSelectedSeries()
           
 int[] getSortOrder()
           
 void initializeDataset()
          Constructs the chart.
 boolean isLegendVisible()
           
 boolean isPopupEnabled()
           
 void manageColumns()
          Displays a table of the chart's columns and allows the user to manually hide/show them.
 void refreshSortMenu()
           
 void saveAsPNG(java.io.File dest)
           
 void saveAsPNG(java.io.File dest, int width, int height)
           
 java.awt.geom.Point2D screenToChart(java.awt.geom.Point2D p)
          Converts a point on the screen to a point on the chart.
 void setAnnotationText(java.lang.String newText)
           
 void setExtendedInfoEnabled(boolean enabled)
           
 void setLegendVisible(boolean legendVisible)
           
 void setPopupEnabled(boolean enabled)
           
 void setSelectedPoint(java.awt.geom.Point2D newPoint)
           
 void setSelectedSeries(int newSeries)
           
 void setSortOrder(int[] newOrder)
           
 
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, 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
 

Constructor Detail

MetaOmChartPanel

public MetaOmChartPanel(int[] selected,
                        java.lang.String xaxisLabel,
                        java.lang.String yaxisLabel,
                        java.lang.String title,
                        java.awt.Color color1,
                        java.awt.Color color2,
                        MetaOmProject project)
Constructs a chart panel using the given values.

Parameters:
selected - The rows in the active project to be graphed.
xaxisLabel - The label to use for the x-axis.
yaxisLabel - The label to use for the y-axis.
title - The chart's title.
color1 - The bottom-left color of the background gradient.
color2 - The top-right color of the background gradient.
Method Detail

getSortOrder

public int[] getSortOrder()

initializeDataset

public void initializeDataset()
Constructs the chart.


createInternalFrame

public void createInternalFrame()
Constructs and displays an internal frame on the MetaOmGraph desktop containg this chart panel.


enableRangeSelection

public void enableRangeSelection()

getRangeSelector

public RangeSelector getRangeSelector()

saveAsPNG

public void saveAsPNG(java.io.File dest)
               throws java.io.IOException
Throws:
java.io.IOException

saveAsPNG

public void saveAsPNG(java.io.File dest,
                      int width,
                      int height)
               throws java.io.IOException
Throws:
java.io.IOException

manageColumns

public void manageColumns()
Displays a table of the chart's columns and allows the user to manually hide/show them.


screenToChart

public java.awt.geom.Point2D screenToChart(java.awt.geom.Point2D p)
Converts a point on the screen to a point on the chart.

Parameters:
p - The point on the screen.
Returns:
The corresponding x,y coordinates on the chart. Null if the given screen point is not on the chart.

chartToScreen

public java.awt.Point chartToScreen(java.awt.geom.Point2D p)

setExtendedInfoEnabled

public void setExtendedInfoEnabled(boolean enabled)

refreshSortMenu

public void refreshSortMenu()

chartChanged

public void chartChanged(org.jfree.chart.event.ChartChangeEvent event)
Specified by:
chartChanged in interface org.jfree.chart.event.ChartChangeListener

getChartPanel

public org.jfree.chart.ChartPanel getChartPanel()

getChart

public org.jfree.chart.JFreeChart getChart()

getDataSorter

public DataSorter getDataSorter()

setSortOrder

public void setSortOrder(int[] newOrder)

getInfoPanel

public PointInfoPanel getInfoPanel()

getSelectedPoint

public java.awt.geom.Point2D getSelectedPoint()

setSelectedPoint

public void setSelectedPoint(java.awt.geom.Point2D newPoint)

getRenderer

public org.jfree.chart.renderer.xy.XYLineAndShapeRenderer getRenderer()

getSelectedSeries

public int getSelectedSeries()

setSelectedSeries

public void setSelectedSeries(int newSeries)

getFormatter

public MetaOmChartPanel.ExperimentFormat getFormatter()

getSelectedRows

public int[] getSelectedRows()

getAnnotator

public ChartAnnotator getAnnotator()

getAnnotationText

public java.lang.String getAnnotationText()

setAnnotationText

public void setAnnotationText(java.lang.String newText)

chartMouseClicked

public void chartMouseClicked(org.jfree.chart.ChartMouseEvent event)
Specified by:
chartMouseClicked in interface org.jfree.chart.ChartMouseListener

chartMouseMoved

public void chartMouseMoved(org.jfree.chart.ChartMouseEvent event)
Specified by:
chartMouseMoved in interface org.jfree.chart.ChartMouseListener

changeSeriesColor

public void changeSeriesColor(int series)

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Specified by:
actionPerformed in interface java.awt.event.ActionListener

setLegendVisible

public void setLegendVisible(boolean legendVisible)

setPopupEnabled

public void setPopupEnabled(boolean enabled)

isLegendVisible

public boolean isLegendVisible()

isPopupEnabled

public boolean isPopupEnabled()

getCrosshairPoint

public java.awt.geom.Point2D getCrosshairPoint()

getProject

public MetaOmProject getProject()

getSelectedColumn

public java.lang.String getSelectedColumn()

getProjectRow

public int getProjectRow(int chartSeries)