jfreerails.launcher
Class Launcher

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by jfreerails.launcher.Launcher
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants, LauncherInterface

public class Launcher
extends javax.swing.JFrame
implements LauncherInterface

Launcher GUI for both the server and/or client. TODO The code in the switch statements needs reviewing.

Author:
rtuck99@users.sourceforge.net, Luke
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
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.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private  GUIClient client
           
private  int currentPage
           
private  javax.swing.ImageIcon errorIcon
           
private  javax.swing.ImageIcon infoIcon
           
(package private)  javax.swing.JLabel infoLabel
           
(package private)  javax.swing.JPanel jPanel1
           
private static java.util.logging.Logger logger
           
(package private)  javax.swing.JButton nextButton
           
private  boolean nextIsStart
           
(package private)  javax.swing.JButton prevButton
           
private  ProgressJPanel progressPanel
           
private  java.util.Properties props
           
private static java.lang.String QUICKSTART
           
private static long serialVersionUID
           
private  FreerailsGameServer server
           
private  javax.swing.ImageIcon warningIcon
           
private  java.awt.Component[] wizardPages
           
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface jfreerails.launcher.LauncherInterface
ERROR, INFO, WARNING
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
Launcher(boolean quickstart)
           
 
Method Summary
private static void exit(java.lang.Exception e)
           
private  void exitForm(java.awt.event.WindowEvent evt)
          Exit the Application.
 java.lang.String getProperty(java.lang.String key)
           
 void hideAllMessages()
           
 void hideErrorMessages()
           
private  void initComponents()
          This method is called from within the constructor to initialize the form.
private  void initServer()
           
private  boolean isNewGame()
           
private  void loadProps()
           
static void main(java.lang.String[] args)
          Runs the game.
private  void nextButtonActionPerformed(java.awt.event.ActionEvent evt)
           
private  void prepare2HostNetworkGame(int port)
          Starts a thread listening for new connections.
private  void prevButtonActionPerformed(java.awt.event.ActionEvent evt)
           
 void saveProps()
           
 void setButtonsVisible(boolean b)
           
 void setInfoText(java.lang.String text, int status)
           
 void setNextEnabled(boolean enabled)
           
 void setProperty(java.lang.String key, java.lang.String value)
           
private  void setServerGameModel()
           
 void start(boolean quickstart)
          Shows GUI.
private  void startGame()
           
private static void startThread(FreerailsGameServer server)
          Starts the server in a new thread.
private static void startThread(FreerailsGameServer server, GUIClient client)
          Starts the client and server in the same thread.
private  void startThread(GUIClient guiClient)
          Starts the client in a new thread.
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
addNotify, finalize, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setAlwaysOnTop, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationByPlatform, setLocationRelativeTo, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

logger

private static final java.util.logging.Logger logger

QUICKSTART

private static java.lang.String QUICKSTART

wizardPages

private final java.awt.Component[] wizardPages

currentPage

private int currentPage

server

private FreerailsGameServer server

client

private GUIClient client

props

private java.util.Properties props

errorIcon

private final javax.swing.ImageIcon errorIcon

warningIcon

private final javax.swing.ImageIcon warningIcon

infoIcon

private final javax.swing.ImageIcon infoIcon

progressPanel

private final ProgressJPanel progressPanel

nextIsStart

private boolean nextIsStart

infoLabel

javax.swing.JLabel infoLabel

jPanel1

javax.swing.JPanel jPanel1

nextButton

javax.swing.JButton nextButton

prevButton

javax.swing.JButton prevButton
Constructor Detail

Launcher

public Launcher(boolean quickstart)
Method Detail

setNextEnabled

public void setNextEnabled(boolean enabled)
Specified by:
setNextEnabled in interface LauncherInterface

startGame

private void startGame()

setServerGameModel

private void setServerGameModel()
                         throws java.io.IOException
Throws:
java.io.IOException

isNewGame

private boolean isNewGame()

startThread

private static void startThread(FreerailsGameServer server,
                                GUIClient client)
Starts the client and server in the same thread.


startThread

private void startThread(GUIClient guiClient)
Starts the client in a new thread.


startThread

private static void startThread(FreerailsGameServer server)
Starts the server in a new thread.


initServer

private void initServer()

main

public static void main(java.lang.String[] args)
Runs the game.


start

public void start(boolean quickstart)
Shows GUI. If quickstart is true runs the game.

Parameters:
quickstart - boolean

prepare2HostNetworkGame

private void prepare2HostNetworkGame(int port)
                              throws java.io.IOException
Starts a thread listening for new connections.

Throws:
java.io.IOException

initComponents

private void initComponents()
This method is called from within the constructor to initialize the form. WARNING: Do NOT modify this code. The content of this method is always regenerated by the Form Editor.


prevButtonActionPerformed

private void prevButtonActionPerformed(java.awt.event.ActionEvent evt)

nextButtonActionPerformed

private void nextButtonActionPerformed(java.awt.event.ActionEvent evt)

exit

private static void exit(java.lang.Exception e)

exitForm

private void exitForm(java.awt.event.WindowEvent evt)
Exit the Application.


setInfoText

public void setInfoText(java.lang.String text,
                        int status)
Specified by:
setInfoText in interface LauncherInterface

hideAllMessages

public void hideAllMessages()
Specified by:
hideAllMessages in interface LauncherInterface

setButtonsVisible

public void setButtonsVisible(boolean b)

hideErrorMessages

public void hideErrorMessages()
Specified by:
hideErrorMessages in interface LauncherInterface

loadProps

private void loadProps()

saveProps

public void saveProps()
Specified by:
saveProps in interface LauncherInterface

setProperty

public void setProperty(java.lang.String key,
                        java.lang.String value)
Specified by:
setProperty in interface LauncherInterface

getProperty

public java.lang.String getProperty(java.lang.String key)
Specified by:
getProperty in interface LauncherInterface