com.realtime.crossfire.jxclient.gui
Class GUIMetaElement

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.gui.ActivatableGUIElement
                      extended by com.realtime.crossfire.jxclient.gui.GUIMetaElement
All Implemented Interfaces:
GUIScrollable, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class GUIMetaElement
extends ActivatableGUIElement
implements GUIScrollable

Display a Crossfire server entry.

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  int defaultIndex
          The default scroll index.
private  java.awt.Font font
          The font to use.
private  java.lang.String format
          The format used for displaying Metaserver instances.
private  java.awt.Image image
          An image to draw before the server description.
private  int index
          The metaserver index.
private  MetaserverEntryListener metaserverEntryListener
          The metaserver entry listener attached for the current index.
private  MetaserverModel metaserverModel
          The metaserver model to monitor.
private  boolean selected
          If set, paint the element in "selected" state.
private static long serialVersionUID
          The serial version UID.
private  java.lang.String tooltip
          The format used for displaying tooltips.
 
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
GUIMetaElement(TooltipManager tooltipManager, GUIElementListener elementListener, MetaserverModel metaserverModel, java.lang.String name, int w, int h, java.awt.Image image, java.awt.Font font, int defaultIndex, java.lang.String format, java.lang.String tooltip)
          Creates a new instance.
 
Method Summary
protected  void activeChanged()
          Will be called whenever the active state has changed.
 boolean canScroll(int distance)
          Returns whether scrolling is possible.
 void dispose()
          Releases all allocated resources.
 int getIndex()
          Returns the index of this element.
 void mouseClicked(java.awt.event.MouseEvent e)
          Will be called when the user has clicked (pressed+released) this element.
protected  void render(java.awt.Graphics2D g2)
          Paints the element's contents into the passed graphics.
 void resetScroll()
          Resets the scroll index to the default value.
 void scroll(int distance)
          
 void setIndex(int index)
          Sets the index of this element.
 void setSelected(boolean selected)
          Sets the selected state.
private  void updateTooltip()
          Updates the tooltip text.
 
Methods inherited from class com.realtime.crossfire.jxclient.gui.gui.ActivatableGUIElement
isActive, mousePressed, setActive
 
Methods inherited from class com.realtime.crossfire.jxclient.gui.gui.GUIElement
createBufferGraphics, getElementX, getElementY, getGui, getName, getTooltipText, hasBufferedImage, isChanged, isDefault, isElementAtPoint, isElementVisible, isIgnore, mouseDragged, mouseEntered, mouseExited, mouseMoved, 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

defaultIndex

private final int defaultIndex
The default scroll index.


font

@NotNull
private final java.awt.Font font
The font to use.


format

@NotNull
private final java.lang.String format
The format used for displaying Metaserver instances.


image

@Nullable
private final java.awt.Image image
An image to draw before the server description. May be null to draw no image.


index

private int index
The metaserver index.


metaserverEntryListener

@NotNull
private final MetaserverEntryListener metaserverEntryListener
The metaserver entry listener attached for the current index.


metaserverModel

@NotNull
private final MetaserverModel metaserverModel
The metaserver model to monitor.


selected

private boolean selected
If set, paint the element in "selected" state.


serialVersionUID

private static final long serialVersionUID
The serial version UID.

See Also:
Constant Field Values

tooltip

@NotNull
private final java.lang.String tooltip
The format used for displaying tooltips.

Constructor Detail

GUIMetaElement

public GUIMetaElement(@NotNull
                      TooltipManager tooltipManager,
                      @NotNull
                      GUIElementListener elementListener,
                      @NotNull
                      MetaserverModel metaserverModel,
                      @NotNull
                      java.lang.String name,
                      int w,
                      int h,
                      @Nullable
                      java.awt.Image image,
                      @NotNull
                      java.awt.Font font,
                      int defaultIndex,
                      @NotNull
                      java.lang.String format,
                      @NotNull
                      java.lang.String tooltip)
Creates a new instance.

Parameters:
tooltipManager - the tooltip manager to update
elementListener - the element listener to notify
metaserverModel - the metaserver model to monitor
name - the name of this element
w - the width for drawing this element to screen
h - the height for drawing this element to screen
image - an image to draw before the server description. May be null to draw no image
font - the font to use
defaultIndex - the initial metaserver index
format - the format used to display metaserver instances
tooltip - the format used for displaying tooltips
Method Detail

activeChanged

protected void activeChanged()
Will be called whenever the active state has changed.

Specified by:
activeChanged in class ActivatableGUIElement

canScroll

public boolean canScroll(int distance)
Returns whether scrolling is possible.

Specified by:
canScroll in interface GUIScrollable
Parameters:
distance - the distance to scroll
Returns:
whether scrolling is possible

dispose

public void dispose()
Releases all allocated resources.

Overrides:
dispose in class GUIElement

getIndex

public int getIndex()
Returns the index of this element.

Returns:
the index

mouseClicked

public void mouseClicked(@NotNull
                         java.awt.event.MouseEvent e)
Will be called when the user has clicked (pressed+released) this element. This event will be delivered after GUIElement.mouseReleased(MouseEvent).

Overrides:
mouseClicked in class GUIElement
Parameters:
e - the mouse event relative to this element

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

resetScroll

public void resetScroll()
Resets the scroll index to the default value.

Specified by:
resetScroll in interface GUIScrollable

scroll

public void scroll(int distance)

Specified by:
scroll in interface GUIScrollable

setIndex

public void setIndex(int index)
Sets the index of this element.

Parameters:
index - the index

setSelected

public void setSelected(boolean selected)
Sets the selected state.

Parameters:
selected - whether this element should drawn as "selected"

updateTooltip

private void updateTooltip()
Updates the tooltip text.