com.threerings.micasa.lobby.table
Class TableListView

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by com.threerings.micasa.lobby.table.TableListView
All Implemented Interfaces:
PlaceView, SeatednessObserver, TableObserver, ActionListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible

public class TableListView
extends JPanel
implements PlaceView, TableObserver, ActionListener, SeatednessObserver

A view that displays the tables in a table lobby. It displays two separate lists, one of tables being matchmade and another of games in progress. These tables are updated dynamically as they proceed through the matchmaking process. UI mechanisms for creating and joining tables are also provided.

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
protected  LobbyConfig _config
          A reference to the lobby config for the lobby in which we are doing table-style matchmaking.
protected  JButton _create
          Our create table button.
protected  MiCasaContext _ctx
          A reference to the client context.
protected  GameConfigurator _figger
          The interface used to configure a game before creating it.
protected  JPanel _matchList
          The list of tables currently being matchmade.
protected  JLabel _pcount
          Our number of players indicator.
protected  JPanel _playList
          The list of tables that are in play.
protected  TableConfigurator _tableFigger
          The interface used to configure the table for a game.
protected  TableDirector _tdtr
          A reference to our table director.
 
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
TableListView(MiCasaContext ctx, LobbyConfig config)
          Creates a new table list view, suitable for providing the user interface for table-style matchmaking in a table lobby.
 
Method Summary
 void actionPerformed(ActionEvent event)
           
 void didLeavePlace(PlaceObject place)
           
protected  TableItem getTableItem(int tableId)
          Fetches the table item component associated with the specified table id.
 void seatednessDidChange(boolean isSeated)
          Called when this client sits down at or stands up from a table.
 void tableAdded(Table table)
          Called when a new table is created.
 void tableRemoved(int tableId)
          Called when a table goes away.
 void tableUpdated(Table table)
          Called when something has changed about a table (occupant list updated, state changed from matchmaking to in-play, etc.).
 void willEnterPlace(PlaceObject place)
           
 
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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, 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, 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, transferFocusBackward, 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, 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, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_ctx

protected MiCasaContext _ctx
A reference to the client context.


_config

protected LobbyConfig _config
A reference to the lobby config for the lobby in which we are doing table-style matchmaking.


_tdtr

protected TableDirector _tdtr
A reference to our table director.


_matchList

protected JPanel _matchList
The list of tables currently being matchmade.


_playList

protected JPanel _playList
The list of tables that are in play.


_tableFigger

protected TableConfigurator _tableFigger
The interface used to configure the table for a game.


_figger

protected GameConfigurator _figger
The interface used to configure a game before creating it.


_create

protected JButton _create
Our create table button.


_pcount

protected JLabel _pcount
Our number of players indicator.

Constructor Detail

TableListView

public TableListView(MiCasaContext ctx,
                     LobbyConfig config)
Creates a new table list view, suitable for providing the user interface for table-style matchmaking in a table lobby.

Method Detail

willEnterPlace

public void willEnterPlace(PlaceObject place)
Specified by:
willEnterPlace in interface PlaceView

didLeavePlace

public void didLeavePlace(PlaceObject place)
Specified by:
didLeavePlace in interface PlaceView

tableAdded

public void tableAdded(Table table)
Description copied from interface: TableObserver
Called when a new table is created.

Specified by:
tableAdded in interface TableObserver

tableUpdated

public void tableUpdated(Table table)
Description copied from interface: TableObserver
Called when something has changed about a table (occupant list updated, state changed from matchmaking to in-play, etc.).

Specified by:
tableUpdated in interface TableObserver

tableRemoved

public void tableRemoved(int tableId)
Description copied from interface: TableObserver
Called when a table goes away.

Specified by:
tableRemoved in interface TableObserver

actionPerformed

public void actionPerformed(ActionEvent event)
Specified by:
actionPerformed in interface ActionListener

seatednessDidChange

public void seatednessDidChange(boolean isSeated)
Description copied from interface: SeatednessObserver
Called when this client sits down at or stands up from a table.

Specified by:
seatednessDidChange in interface SeatednessObserver
Parameters:
isSeated - true if the client is now seated at a table, false if they are now no longer seated at a table.

getTableItem

protected TableItem getTableItem(int tableId)
Fetches the table item component associated with the specified table id.