com.realtime.crossfire.jxclient.gui.gauge
Class GUIDupGauge

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by com.realtime.crossfire.jxclient.gui.gui.GUIElement
                  extended by com.realtime.crossfire.jxclient.gui.gauge.GUIDupGauge
All Implemented Interfaces:
GUIGaugeListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable
Direct Known Subclasses:
GUIDupTextGauge

public class GUIDupGauge
extends GUIElement
implements GUIGaugeListener

Displays a value as a graphical gauge that's filling state depends on the value.

See Also:
Serialized Form

Nested Class Summary
 
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
private  java.awt.Image emptyImage
          The image representing an empty gauge.
private  GaugeState gaugeStateDiv
          The gauge state.
private  GaugeState gaugeStateMod
          The gauge state.
private  java.lang.String labelText
          The label text.
private  Orientation orientationDiv
          The gauge's orientation.
private  Orientation orientationMod
          The gauge's orientation.
private static long serialVersionUID
          The serial version UID.
private  java.lang.String tooltipPrefix
          The tooltip prefix.
private  java.lang.String tooltipText
          The tooltip suffix.
 
Fields inherited from class com.realtime.crossfire.jxclient.gui.gui.GUIElement
bufferedImageSync
 
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
GUIDupGauge(TooltipManager tooltipManager, GUIElementListener elementListener, java.lang.String name, Extent extent, java.awt.image.BufferedImage fullImageDiv, java.awt.image.BufferedImage fullImageMod, java.awt.Image emptyImage, Orientation orientationDiv, Orientation orientationMod, java.lang.String tooltipPrefix)
          Creates a new instance.
 
Method Summary
private static void checkSize(java.awt.Image image, java.lang.String name, int w, int h)
          Validates an image's size: checks if the given image has the given size (in pixels).
protected  void render(java.awt.Graphics2D g2)
          Paints the element's contents into the passed graphics.
 void setValues(int curValue, int minValue, int maxValue, java.lang.String labelText, java.lang.String tooltipText)
          Sets the values to display.
private  void updateTooltipText()
          Updates the tooltip's text from tooltipPrefix ad tooltipText.
 
Methods inherited from class com.realtime.crossfire.jxclient.gui.gui.GUIElement
createBufferGraphics, dispose, getElementX, getElementY, getGui, getName, getTooltipText, hasBufferedImage, isChanged, isDefault, isElementAtPoint, isElementVisible, isIgnore, mouseClicked, mouseDragged, mouseEntered, mouseExited, mouseMoved, mousePressed, mouseReleased, paintComponent, resetChanged, setChanged, setChangedListener, setChangedNoListeners, setDefault, setElementLocation, setElementSize, setElementVisible, setGui, setIgnore, setTooltipText, setTooltipText, toString, updateResolution, updateResolutionConstant
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, 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, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, 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, updateUI
 
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, 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, transferFocus, transferFocusBackward, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

emptyImage

@Nullable
private final java.awt.Image emptyImage
The image representing an empty gauge.


gaugeStateDiv

@NotNull
private final GaugeState gaugeStateDiv
The gauge state.


gaugeStateMod

@NotNull
private final GaugeState gaugeStateMod
The gauge state.


labelText

@NotNull
private java.lang.String labelText
The label text.


orientationDiv

@NotNull
private final Orientation orientationDiv
The gauge's orientation.


orientationMod

@NotNull
private final Orientation orientationMod
The gauge's orientation.


serialVersionUID

private static final long serialVersionUID
The serial version UID.

See Also:
Constant Field Values

tooltipPrefix

@Nullable
private final java.lang.String tooltipPrefix
The tooltip prefix. It is prepended to tooltipText to form the tooltip.


tooltipText

@NotNull
private java.lang.String tooltipText
The tooltip suffix. It is appended to tooltipPrefix to form the tooltip.

Constructor Detail

GUIDupGauge

public GUIDupGauge(@NotNull
                   TooltipManager tooltipManager,
                   @NotNull
                   GUIElementListener elementListener,
                   @NotNull
                   java.lang.String name,
                   @NotNull
                   Extent extent,
                   @NotNull
                   java.awt.image.BufferedImage fullImageDiv,
                   @NotNull
                   java.awt.image.BufferedImage fullImageMod,
                   @Nullable
                   java.awt.Image emptyImage,
                   @NotNull
                   Orientation orientationDiv,
                   @NotNull
                   Orientation orientationMod,
                   @Nullable
                   java.lang.String tooltipPrefix)
Creates a new instance.

Parameters:
tooltipManager - the tooltip manager to update
elementListener - the element listener to notify
name - the name of this element
extent - the extent of this element
fullImageDiv - the top image
fullImageMod - the bottom image
emptyImage - the image representing an empty gauge; if set to null an empty background is used instead
orientationDiv - the gauge's orientation
orientationMod - the gauge's orientation
tooltipPrefix - the prefix for displaying tooltips; if set to null no tooltips are shown
Method Detail

checkSize

private static void checkSize(@Nullable
                              java.awt.Image image,
                              @NotNull
                              java.lang.String name,
                              int w,
                              int h)
Validates an image's size: checks if the given image has the given size (in pixels).

Parameters:
image - the image to validate; if set to null no exception is thrown
name - the image's name for generating error messages
w - the expected image width
h - the expected image height
Throws:
java.lang.IllegalArgumentException - if image is not null and it's size is not wxh

render

protected void render(@NotNull
                      java.awt.Graphics2D g2)
Paints the element's contents into the passed graphics.

Specified by:
render in class GUIElement
Parameters:
g2 - the graphics to paint to

setValues

public void setValues(int curValue,
                      int minValue,
                      int maxValue,
                      @NotNull
                      java.lang.String labelText,
                      @NotNull
                      java.lang.String tooltipText)
Sets the values to display.

Specified by:
setValues in interface GUIGaugeListener
Parameters:
curValue - the values to display
minValue - the minimum possible value
maxValue - the maximum possible value
labelText - the label text
tooltipText - the tooltip suffix

updateTooltipText

private void updateTooltipText()
Updates the tooltip's text from tooltipPrefix ad tooltipText.