soc.client
Class SpeechBalloon

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Canvas
          extended by soc.client.SpeechBalloon
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public class SpeechBalloon
extends java.awt.Canvas

This is a rectangular speech balloon shape for use in the hand panel. By default, it shows a point near the left side of its top edge:

 __|\________________
 |                  | 
Because of this point, the main rectangle of the balloon doesn't take up the entire height (as set by Component.setSize(int, int)} or Component.setBounds(int, int, int, int)), but begins at height / 8. Even when the point is hidden by setBalloonPoint(false), this is still the case.

When centering items within the balloon, remember the top inset of height / 8 mentioned above, and the bottom and right insets of SHADOW_SIZE. Left inset is 0.

Author:
Robert S. Thomas
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class java.awt.Canvas
java.awt.Canvas.AccessibleAWTCanvas
 
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 static java.awt.Color balloonColor
           
private  boolean balloonPoint
          Is the balloon's point showing? (If not, it's drawn as a rectangle)
(package private)  int height
           
static int SHADOW_SIZE
          Size of the shadow appearing on the right and bottom sides, in pixels.
(package private)  int width
           
 
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
SpeechBalloon(java.awt.Color bg)
          constructor
 
Method Summary
 boolean getBalloonPoint()
          Should this balloon display its point, along the top edge? Height of the balloon point is balloon height / 8.
 java.awt.Dimension getMinimumSize()
          Minimum acceptable size for this SpeechBalloon.
 java.awt.Dimension getPreferredSize()
          Preferred (current) size for this SpeechBalloon.
 void paint(java.awt.Graphics g)
          Draw this balloon.
 void setBalloonPoint(boolean point)
          Should this balloon display its point, along the top edge? Even when hidden, the main rectangle is drawn beginning at height / 8.
 
Methods inherited from class java.awt.Canvas
addNotify, createBufferStrategy, createBufferStrategy, getAccessibleContext, getBufferStrategy, update
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAlignmentX, getAlignmentY, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, paramString, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, validate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

SHADOW_SIZE

public static final int SHADOW_SIZE
Size of the shadow appearing on the right and bottom sides, in pixels.

Since:
1.1.08
See Also:
Constant Field Values

balloonColor

private static java.awt.Color balloonColor

height

int height

width

int width

balloonPoint

private boolean balloonPoint
Is the balloon's point showing? (If not, it's drawn as a rectangle)

Since:
1.1.08
Constructor Detail

SpeechBalloon

public SpeechBalloon(java.awt.Color bg)
constructor

Parameters:
bg - the background color of the panel
Method Detail

getPreferredSize

public java.awt.Dimension getPreferredSize()
Preferred (current) size for this SpeechBalloon.

Overrides:
getPreferredSize in class java.awt.Component

getMinimumSize

public java.awt.Dimension getMinimumSize()
Minimum acceptable size for this SpeechBalloon.

Overrides:
getMinimumSize in class java.awt.Component

getBalloonPoint

public boolean getBalloonPoint()
Should this balloon display its point, along the top edge? Height of the balloon point is balloon height / 8.

Since:
1.1.08

setBalloonPoint

public void setBalloonPoint(boolean point)
Should this balloon display its point, along the top edge? Even when hidden, the main rectangle is drawn beginning at height / 8. Triggers a repaint.

Parameters:
point - true to display, false to hide
Since:
1.1.08

paint

public void paint(java.awt.Graphics g)
Draw this balloon.

Overrides:
paint in class java.awt.Canvas
Parameters:
g - Graphics