Package adams.gui.visualization.heatmap
Class HeatmapPanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- adams.gui.core.BasePanel
-
- adams.gui.visualization.heatmap.HeatmapPanel
-
- All Implemented Interfaces:
adams.gui.core.KnownParentSupporter
,adams.gui.event.ImagePanelSelectionListener
,ImageObserver
,MenuContainer
,Serializable
,EventListener
,Accessible
public class HeatmapPanel extends adams.gui.core.BasePanel implements adams.gui.event.ImagePanelSelectionListener, adams.gui.core.KnownParentSupporter
Panel for displaying a single heatmap.- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
-
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
-
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
-
Field Summary
Fields Modifier and Type Field Description protected adams.gui.visualization.core.ColorGradientGenerator
m_ColorGenerator
the color generator to use.protected Heatmap
m_Heatmap
the heatmap on display.protected adams.gui.visualization.image.ImagePanel
m_HeatmapImage
the panel for displaying the heatmap as image.protected adams.gui.core.SpreadSheetTable
m_HeatmapTable
the table with the heatmap as spreadsheet.protected adams.gui.core.BaseTabbedPaneWithTabHiding
m_LogTabbedPane
the tabbed pane for image/report and log.protected Color
m_MissingValueColor
the color to use for missing values.protected HeatmapViewerPanel
m_Owner
the owner.protected adams.gui.core.BaseLogPanel
m_PanelLog
the log panel.protected static adams.core.Properties
m_Properties
the setup for the panel.protected AbstractHeatmapReader
m_Reader
the reader that was used for reading in the heatmap.protected adams.gui.visualization.report.ReportFactory.Table
m_ReportTable
the report of the heatmap.protected adams.gui.core.SearchPanel
m_SearchPanel
the search panel for the heatmap report.protected HashSet<HeatmapPanelSelectionListener>
m_SelectionListeners
the selection listeners.protected adams.gui.core.BaseSplitPane
m_SplitPane
the split pane for image/spreadsheet and report.protected adams.gui.core.BaseTabbedPane
m_TabbedPane
the tabbed pane for the image and spreadsheet view.-
Fields inherited from class javax.swing.JComponent
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
accessibleContext, 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
Constructors Constructor Description HeatmapPanel(HeatmapViewerPanel owner)
Initializes the panel.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addOverlay(AbstractHeatmapOverlay overlay)
Adds the heatmap overlay.void
addSelectionListener(HeatmapPanelSelectionListener l)
Adds the given listener to the internal list of selection listeners.boolean
canReload()
Checks whether this panel can be reloaded.adams.gui.visualization.core.ColorGradientGenerator
getColorGenerator()
Returns the generator for the color gradient.Heatmap
getHeatmap()
The current heatmap on display.adams.gui.visualization.image.ImagePanel
getImagePanel()
Returns the underlying image panelContainer
getKnownParent()
Returns the component that acts as this component's parent.Color
getMissingValueColor()
Returns the color to use for missing values.HeatmapViewerPanel
getOwner()
Returns the owner of this panel.static adams.core.Properties
getProperties()
Returns the properties for this panel.AbstractHeatmapReader
getReader()
Returns the heatmap reader that was used for loading this heatmap.String
getTitle()
Returns the database ID or filename as title.double
getZoom()
Returns the zoom factor (0-16).void
imageChanged(adams.gui.visualization.image.ImagePanel.PaintPanel panel)
Notifies the overlay that the image has changed.protected void
initGUI()
Initializes the widgets.protected void
initialize()
Initializes the members.boolean
isLogVisible()
Returns whether the report table is visible.boolean
isReportVisible()
Returns whether the report table is visible.boolean
isSearchPanelVisible()
Returns whether the search panel is visible.void
log(String msg)
Logs the message in the log panel.protected String
refresh()
Regenerates the image of the current heatmap and redisplays it.boolean
reload()
Reloads the data, if possible.void
removeOverlays()
Removes all overlays.void
removeSelectionListener(HeatmapPanelSelectionListener l)
Removes the given listener from the internal list of selection listeners.void
removeSelectionListeners()
Removes all listeners from the internal list of selection listeners.void
search(String text, boolean isRegExp)
Performs a search.void
selected(adams.gui.event.ImagePanelSelectionEvent e)
Invoked when a selection happened in aImagePanel
.void
setColorGenerator(adams.gui.visualization.core.ColorGradientGenerator value)
Sets the generator for the color gradient.void
setHeatmap(Heatmap value)
Sets the heatmap to display.void
setLogVisible(boolean value)
Sets the visibility state of the report table.void
setMissingValueColor(Color value)
Sets the color to use for missing values.void
setReader(AbstractHeatmapReader value)
Sets the heatmap reader that was used for loading this heatmap.void
setReportVisible(boolean value)
Sets the visibility state of the report table.void
setSearchPanelVisible(boolean value)
Sets whether to display the search panel or not.void
setZoom(double zoom)
Sets the zoom factor (0-16).-
Methods inherited from class adams.gui.core.BasePanel
afterHide, afterShow, beforeHide, beforeShow, closeParent, finishInit, getParentChild, getParentDialog, getParentFrame, getParentInternalFrame, getParentTitle, initFileChooser, main, printErrorMessage, printException, saveComponent, setEnabledCascade, setEnabledCascade, setParentTitle, setVisible
-
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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
m_Properties
protected static adams.core.Properties m_Properties
the setup for the panel.
-
m_Heatmap
protected Heatmap m_Heatmap
the heatmap on display.
-
m_HeatmapImage
protected adams.gui.visualization.image.ImagePanel m_HeatmapImage
the panel for displaying the heatmap as image.
-
m_HeatmapTable
protected adams.gui.core.SpreadSheetTable m_HeatmapTable
the table with the heatmap as spreadsheet.
-
m_ReportTable
protected adams.gui.visualization.report.ReportFactory.Table m_ReportTable
the report of the heatmap.
-
m_SearchPanel
protected adams.gui.core.SearchPanel m_SearchPanel
the search panel for the heatmap report.
-
m_LogTabbedPane
protected adams.gui.core.BaseTabbedPaneWithTabHiding m_LogTabbedPane
the tabbed pane for image/report and log.
-
m_SplitPane
protected adams.gui.core.BaseSplitPane m_SplitPane
the split pane for image/spreadsheet and report.
-
m_TabbedPane
protected adams.gui.core.BaseTabbedPane m_TabbedPane
the tabbed pane for the image and spreadsheet view.
-
m_Owner
protected HeatmapViewerPanel m_Owner
the owner.
-
m_Reader
protected AbstractHeatmapReader m_Reader
the reader that was used for reading in the heatmap.
-
m_ColorGenerator
protected adams.gui.visualization.core.ColorGradientGenerator m_ColorGenerator
the color generator to use.
-
m_MissingValueColor
protected Color m_MissingValueColor
the color to use for missing values.
-
m_PanelLog
protected adams.gui.core.BaseLogPanel m_PanelLog
the log panel.
-
m_SelectionListeners
protected HashSet<HeatmapPanelSelectionListener> m_SelectionListeners
the selection listeners.
-
-
Constructor Detail
-
HeatmapPanel
public HeatmapPanel(HeatmapViewerPanel owner)
Initializes the panel.- Parameters:
owner
- the owner of this panel
-
-
Method Detail
-
initialize
protected void initialize()
Initializes the members.- Overrides:
initialize
in classadams.gui.core.BasePanel
-
initGUI
protected void initGUI()
Initializes the widgets.- Overrides:
initGUI
in classadams.gui.core.BasePanel
-
getOwner
public HeatmapViewerPanel getOwner()
Returns the owner of this panel.- Returns:
- the owner, null if none set
-
getKnownParent
public Container getKnownParent()
Returns the component that acts as this component's parent.- Specified by:
getKnownParent
in interfaceadams.gui.core.KnownParentSupporter
- Returns:
- the parent, null if not available
-
refresh
protected String refresh()
Regenerates the image of the current heatmap and redisplays it.- Returns:
- null if everything OK, otherwiser error message
-
setHeatmap
public void setHeatmap(Heatmap value)
Sets the heatmap to display.- Parameters:
value
- the heatmap to display
-
getHeatmap
public Heatmap getHeatmap()
The current heatmap on display.- Returns:
- the heatmap on display
-
setReader
public void setReader(AbstractHeatmapReader value)
Sets the heatmap reader that was used for loading this heatmap. Used for reloading.- Parameters:
value
- the reader
-
getReader
public AbstractHeatmapReader getReader()
Returns the heatmap reader that was used for loading this heatmap.- Returns:
- the reader, null if loaded from database
-
setColorGenerator
public void setColorGenerator(adams.gui.visualization.core.ColorGradientGenerator value)
Sets the generator for the color gradient.- Parameters:
value
- the generator
-
getColorGenerator
public adams.gui.visualization.core.ColorGradientGenerator getColorGenerator()
Returns the generator for the color gradient.- Returns:
- the generator
-
addOverlay
public void addOverlay(AbstractHeatmapOverlay overlay)
Adds the heatmap overlay.- Parameters:
overlay
- the overlay to add
-
removeOverlays
public void removeOverlays()
Removes all overlays.
-
setMissingValueColor
public void setMissingValueColor(Color value)
Sets the color to use for missing values.- Parameters:
value
- the color
-
getMissingValueColor
public Color getMissingValueColor()
Returns the color to use for missing values.- Returns:
- the color
-
getTitle
public String getTitle()
Returns the database ID or filename as title.- Returns:
- the title
-
getImagePanel
public adams.gui.visualization.image.ImagePanel getImagePanel()
Returns the underlying image panel- Returns:
- the panel
-
canReload
public boolean canReload()
Checks whether this panel can be reloaded.- Returns:
- true if reload is possible
-
reload
public boolean reload()
Reloads the data, if possible.- Returns:
- true if successfully reloaded
-
search
public void search(String text, boolean isRegExp)
Performs a search.- Parameters:
text
- the search textisRegExp
- whether the search text is a regular expression
-
setSearchPanelVisible
public void setSearchPanelVisible(boolean value)
Sets whether to display the search panel or not.- Parameters:
value
- if true then the search panel is displayed
-
isSearchPanelVisible
public boolean isSearchPanelVisible()
Returns whether the search panel is visible.- Returns:
- true if the search panel is visible
-
getProperties
public static adams.core.Properties getProperties()
Returns the properties for this panel.- Returns:
- the properties file for this panel
-
setZoom
public void setZoom(double zoom)
Sets the zoom factor (0-16). Use -1 to fit inside panel.- Parameters:
zoom
- the zoom factor
-
getZoom
public double getZoom()
Returns the zoom factor (0-16).- Returns:
- the zoom factor
-
log
public void log(String msg)
Logs the message in the log panel.- Parameters:
msg
- the log message
-
isReportVisible
public boolean isReportVisible()
Returns whether the report table is visible.- Returns:
- true if visible
-
setReportVisible
public void setReportVisible(boolean value)
Sets the visibility state of the report table.- Parameters:
value
- true if visible
-
isLogVisible
public boolean isLogVisible()
Returns whether the report table is visible.- Returns:
- true if visible
-
setLogVisible
public void setLogVisible(boolean value)
Sets the visibility state of the report table.- Parameters:
value
- true if visible
-
addSelectionListener
public void addSelectionListener(HeatmapPanelSelectionListener l)
Adds the given listener to the internal list of selection listeners.- Parameters:
l
- the listener to add
-
removeSelectionListener
public void removeSelectionListener(HeatmapPanelSelectionListener l)
Removes the given listener from the internal list of selection listeners.- Parameters:
l
- the listener to remove
-
removeSelectionListeners
public void removeSelectionListeners()
Removes all listeners from the internal list of selection listeners.
-
imageChanged
public void imageChanged(adams.gui.visualization.image.ImagePanel.PaintPanel panel)
Notifies the overlay that the image has changed.- Specified by:
imageChanged
in interfaceadams.gui.event.ImagePanelSelectionListener
- Parameters:
panel
- the panel this overlay belongs to
-
selected
public void selected(adams.gui.event.ImagePanelSelectionEvent e)
Invoked when a selection happened in aImagePanel
.- Specified by:
selected
in interfaceadams.gui.event.ImagePanelSelectionListener
- Parameters:
e
- the event
-
-