Class ContinuousColourBar

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
mgui.interfaces.InterfacePanel
mgui.interfaces.maps.ContinuousColourBar
All Implemented Interfaces:
java.awt.event.ComponentListener, java.awt.event.KeyListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, AttributeListener, AttributeObject, DisplayListener, InterfaceObject, CategoryObject, PopupMenuObject, NamedObject, ShapeListener, TreeObject, CleanableObject, IconObject

public class ContinuousColourBar
extends InterfacePanel
implements java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.event.KeyListener
Component displays a continuous colour map as a horizontal bar portraying the colour gradient between anchors. Displays the anchors themselves as solid vertical lines
Author:
Andrew Reid
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
    Modifier and Type Field Description
    protected java.util.ArrayList<java.awt.event.ActionListener> actionListeners  
    protected java.awt.image.BufferedImage bar  
    int decimals  
    java.lang.String divFont  
    double divSize  
    double fontScale  
    protected boolean isDragging  
    protected java.awt.Font label_font  
    double lineWeightScale  
    ContinuousColourMap map  
    double max  
    double min  
    int noDivisions  
    protected java.awt.BasicStroke normalLine  
    int padding  
    int selectedAnchor  
    protected java.awt.BasicStroke selectedLine  
    boolean showAnchors  
    boolean showDivisions  
    protected boolean updateBar  

    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
    ContinuousColourBar()  
    ContinuousColourBar​(ContinuousColourMap cm)  
  • Method Summary

    Modifier and Type Method Description
    void addActionListener​(java.awt.event.ActionListener l)  
    java.lang.Object clone()  
    protected void drawAnchorLeft​(java.awt.Graphics2D g2, int pos, int width, int height, boolean selected)  
    protected void drawAnchorUp​(java.awt.Graphics2D g2, int pos, int width, int height, boolean selected)  
    protected void fireActionListeners()  
    protected java.awt.image.BufferedImage getColourBarImage​(int x, int y)  
    InterfacePopupMenu getPopupMenu()
    Produces and returns a popup menu for this object.
    ContinuousColourMap.Anchor getSelectedAnchor()  
    void handlePopupEvent​(java.awt.event.ActionEvent e)
    Handles an event on this object's popup menu.
    protected void init()  
    void keyPressed​(java.awt.event.KeyEvent arg0)  
    void keyReleased​(java.awt.event.KeyEvent arg0)  
    void keyTyped​(java.awt.event.KeyEvent e)  
    void mouseClicked​(java.awt.event.MouseEvent e)  
    void mouseDragged​(java.awt.event.MouseEvent e)  
    void mouseEntered​(java.awt.event.MouseEvent arg0)  
    void mouseExited​(java.awt.event.MouseEvent arg0)  
    void mouseMoved​(java.awt.event.MouseEvent e)  
    void mousePressed​(java.awt.event.MouseEvent e)  
    void mouseReleased​(java.awt.event.MouseEvent e)  
    protected void paintComponent​(java.awt.Graphics g)  
    void removeActionListener​(java.awt.event.ActionListener l)  
    void removeAnchor​(int anchor)  
    void selectAnchor​(int anchor)  
    void setMap​(ContinuousColourMap m)  
    void update()  
    void writeToImage​(java.io.File file)
    Writes this colour bar to an image file.
    void writeToImage​(java.io.File file, int width, int height)
    Writes this colour bar to an image file.

    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, 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, 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

    Methods inherited from class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface mgui.interfaces.NamedObject

    getName, setName
  • Field Details

    • map

      public ContinuousColourMap map
    • selectedAnchor

      public int selectedAnchor
    • updateBar

      protected boolean updateBar
    • bar

      protected java.awt.image.BufferedImage bar
    • selectedLine

      protected java.awt.BasicStroke selectedLine
    • normalLine

      protected java.awt.BasicStroke normalLine
    • actionListeners

      protected java.util.ArrayList<java.awt.event.ActionListener> actionListeners
    • isDragging

      protected boolean isDragging
    • showAnchors

      public boolean showAnchors
    • showDivisions

      public boolean showDivisions
    • noDivisions

      public int noDivisions
    • divSize

      public double divSize
    • max

      public double max
    • min

      public double min
    • decimals

      public int decimals
    • divFont

      public java.lang.String divFont
    • fontScale

      public double fontScale
    • lineWeightScale

      public double lineWeightScale
    • padding

      public int padding
    • label_font

      protected java.awt.Font label_font
  • Constructor Details

    • ContinuousColourBar

      public ContinuousColourBar()
    • ContinuousColourBar

      public ContinuousColourBar​(ContinuousColourMap cm)
  • Method Details

    • init

      protected void init()
      Specified by:
      init in class InterfacePanel
    • clone

      public java.lang.Object clone()
      Overrides:
      clone in class java.lang.Object
    • paintComponent

      protected void paintComponent​(java.awt.Graphics g)
      Overrides:
      paintComponent in class javax.swing.JComponent
    • drawAnchorUp

      protected void drawAnchorUp​(java.awt.Graphics2D g2, int pos, int width, int height, boolean selected)
    • drawAnchorLeft

      protected void drawAnchorLeft​(java.awt.Graphics2D g2, int pos, int width, int height, boolean selected)
    • getColourBarImage

      protected java.awt.image.BufferedImage getColourBarImage​(int x, int y)
    • setMap

      public void setMap​(ContinuousColourMap m)
    • getSelectedAnchor

      public ContinuousColourMap.Anchor getSelectedAnchor()
    • addActionListener

      public void addActionListener​(java.awt.event.ActionListener l)
    • removeActionListener

      public void removeActionListener​(java.awt.event.ActionListener l)
    • fireActionListeners

      protected void fireActionListeners()
    • selectAnchor

      public void selectAnchor​(int anchor)
    • removeAnchor

      public void removeAnchor​(int anchor)
    • mouseClicked

      public void mouseClicked​(java.awt.event.MouseEvent e)
      Specified by:
      mouseClicked in interface java.awt.event.MouseListener
      Overrides:
      mouseClicked in class InterfacePanel
    • update

      public void update()
    • mouseEntered

      public void mouseEntered​(java.awt.event.MouseEvent arg0)
      Specified by:
      mouseEntered in interface java.awt.event.MouseListener
      Overrides:
      mouseEntered in class InterfacePanel
    • mouseExited

      public void mouseExited​(java.awt.event.MouseEvent arg0)
      Specified by:
      mouseExited in interface java.awt.event.MouseListener
      Overrides:
      mouseExited in class InterfacePanel
    • mousePressed

      public void mousePressed​(java.awt.event.MouseEvent e)
      Specified by:
      mousePressed in interface java.awt.event.MouseListener
      Overrides:
      mousePressed in class InterfacePanel
    • mouseReleased

      public void mouseReleased​(java.awt.event.MouseEvent e)
      Specified by:
      mouseReleased in interface java.awt.event.MouseListener
      Overrides:
      mouseReleased in class InterfacePanel
    • mouseDragged

      public void mouseDragged​(java.awt.event.MouseEvent e)
      Specified by:
      mouseDragged in interface java.awt.event.MouseMotionListener
      Overrides:
      mouseDragged in class InterfacePanel
    • mouseMoved

      public void mouseMoved​(java.awt.event.MouseEvent e)
      Specified by:
      mouseMoved in interface java.awt.event.MouseMotionListener
      Overrides:
      mouseMoved in class InterfacePanel
    • keyPressed

      public void keyPressed​(java.awt.event.KeyEvent arg0)
      Specified by:
      keyPressed in interface java.awt.event.KeyListener
      Overrides:
      keyPressed in class InterfacePanel
    • keyReleased

      public void keyReleased​(java.awt.event.KeyEvent arg0)
      Specified by:
      keyReleased in interface java.awt.event.KeyListener
      Overrides:
      keyReleased in class InterfacePanel
    • keyTyped

      public void keyTyped​(java.awt.event.KeyEvent e)
      Specified by:
      keyTyped in interface java.awt.event.KeyListener
      Overrides:
      keyTyped in class InterfacePanel
    • getPopupMenu

      public InterfacePopupMenu getPopupMenu()
      Description copied from interface: PopupMenuObject
      Produces and returns a popup menu for this object.
      Specified by:
      getPopupMenu in interface PopupMenuObject
      Overrides:
      getPopupMenu in class InterfacePanel
      Returns:
    • handlePopupEvent

      public void handlePopupEvent​(java.awt.event.ActionEvent e)
      Description copied from interface: PopupMenuObject
      Handles an event on this object's popup menu.
      Specified by:
      handlePopupEvent in interface PopupMenuObject
      Overrides:
      handlePopupEvent in class InterfacePanel
    • writeToImage

      public void writeToImage​(java.io.File file) throws java.io.IOException
      Writes this colour bar to an image file.
      Parameters:
      file -
      Throws:
      java.io.IOException
    • writeToImage

      public void writeToImage​(java.io.File file, int width, int height) throws java.io.IOException
      Writes this colour bar to an image file.
      Parameters:
      file -
      Throws:
      java.io.IOException