de.uni_paderborn.robots.gui
Class ArenaDesignerFrame

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--java.awt.Frame
                          |
                          +--javax.swing.JFrame
                                |
                                +--de.uni_paderborn.robots.gui.ArenaDesignerFrame
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ActionListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, javax.swing.RootPaneContainer, java.io.Serializable, javax.swing.WindowConstants

public class ArenaDesignerFrame
extends javax.swing.JFrame
implements java.awt.event.ActionListener

Main window of the ArenaDesigner.

See Also:
Serialized Form

Inner Class Summary
private  class ArenaDesignerFrame.LoadArenaFileFilter
          The FileFilter for loading the arena, thus only files ending with ".arena" are shown.
 
Inner classes inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Inner classes inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Inner classes inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.AWTTreeLock
 
Field Summary
private  ArenaDesignerAboutWindow aboutWindow
          a about window
private  java.io.File actualFile
          contains the actual filename
private  Arena arena
          the arena
private  boolean arenaChanged
          is true when the arena has changed
static int defaultHeight
          default height
static int defaultWidth
          default width
private  ArenaDesignerCanvas designerCanvas
          the arena-designer canvas
private  javax.swing.JButton[] iconButton
          the buttons of the toolbar
private  boolean isChild
          true, if ArenaDesigner is started from Robomania, false if otherwise
private  javax.swing.JMenuBar jMenuBar
          the menu bar
private  javax.swing.JMenu jMenuFile
          the file menu
private  javax.swing.JMenu jMenuHelp
          the help menu
private  javax.swing.JMenuItem jMenuItemAbout
          the about menu item in the help menu
private  javax.swing.JMenuItem jMenuItemHelp
          the help menu item in the help menu
private  javax.swing.JMenuItem jMenuItemNewArena
          new arena menu item in file menu
private  javax.swing.JMenuItem jMenuItemOpenArena
          open arena menu item in file menu
private  javax.swing.JMenuItem jMenuItemQuit
          exit arena designer menu item in file menu
private  javax.swing.JMenuItem jMenuItemSaveArena
          save arena menu item in file menu
private  javax.swing.JMenuItem jMenuItemSaveArenaAs
          save arena as menu item in file menu
private  javax.swing.JCheckBoxMenuItem jMenuItemWormholeMode
          the wormhole mode menu item in the wormhole menu
private  javax.swing.JCheckBoxMenuItem jMenuItemZoom
          the zoom menu item
private  javax.swing.JMenu jMenuView
          the view menu
private  javax.swing.JMenu jMenuWormhole
          the wormhole menu
private  javax.swing.JScrollPane jScrollPane
          the scroll panel containing the ArenaCanvas
private  javax.swing.JToolBar toolbar
          the toolbar
private  boolean wormholeMode
          wormhole mode on/off
 
Fields inherited from class javax.swing.JFrame
accessibleContext, defaultCloseOperation, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
base, CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, frameSerializedDataVersion, HAND_CURSOR, icon, ICONIFIED, mbManagement, menuBar, MOVE_CURSOR, N_RESIZE_CURSOR, nameCounter, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, ownedWindows, resizable, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, serialVersionUID, state, SW_RESIZE_CURSOR, TEXT_CURSOR, title, W_RESIZE_CURSOR, WAIT_CURSOR, weakThis
 
Fields inherited from class java.awt.Window
active, dbg, focusMgr, inputContext, inputContextLock, OPENED, ownedWindowList, warningString, windowListener, windowSerializedDataVersion
 
Fields inherited from class java.awt.Container
component, containerListener, containerSerializedDataVersion, dispatcher, layoutMgr, listeningBoundsChildren, listeningChildren, maxSize, ncomponents, printing, printingThreads
 
Fields inherited from class java.awt.Component
actionListenerK, adjustmentListenerK, appContext, background, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, changeSupport, componentListener, componentListenerK, componentOrientation, componentSerializedDataVersion, containerListenerK, cursor, dropTarget, enabled, eventMask, focusListener, focusListenerK, font, foreground, graphicsConfig, hasFocus, height, hierarchyBoundsListener, hierarchyBoundsListenerK, hierarchyListener, hierarchyListenerK, incRate, inputMethodListener, inputMethodListenerK, isInc, isPacked, itemListenerK, keyListener, keyListenerK, LEFT_ALIGNMENT, locale, LOCK, metrics, minSize, mouseListener, mouseListenerK, mouseMotionListener, mouseMotionListenerK, name, nameExplicitlySet, newEventsOnly, ownedWindowK, parent, peer, peerFont, popups, prefSize, privateKey, RIGHT_ALIGNMENT, textListenerK, TOP_ALIGNMENT, valid, visible, width, windowClosingException, windowListenerK, x, y
 
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
ArenaDesignerFrame(boolean isChild)
          constructor, creates a new ArenaDesignerFrame with a empty arena of default width and height.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          toolbar actions.
 void arenaHasChanged()
          Inform window that arena has changed.
 void createEmptyArena(int width, int height)
          Creates a new empty arena with the given width and height.
private  void exitForm(java.awt.event.WindowEvent evt)
          This method is called to exit the frame.
private  void initComponents()
          This method is called from within the constructor to initialize the GUI.
private  void jMenuItemAboutActionPerformed(java.awt.event.ActionEvent evt)
          Creates and shows a new about frame.
private  void jMenuItemHelpActionPerformed(java.awt.event.ActionEvent evt)
          Creates and shows a new help frame.
private  void jMenuItemNewArenaActionPerformed(java.awt.event.ActionEvent evt)
          This method is called when you select the new arena menu item checks whether the old arena has changed and opens a dialog to create a new arena.
private  void jMenuItemOpenArenaActionPerformed(java.awt.event.ActionEvent evt)
          This method is called when you select the open arena menu item checks whether the old arena has changed and opens a dialog to open a new arena.
private  void jMenuItemQuitActionPerformed(java.awt.event.ActionEvent evt)
          This method is called when you select the quit menu item.
private  boolean jMenuItemSaveArenaActionPerformed(java.awt.event.ActionEvent evt)
          This method is called when you select the save arena menu item checks whether the arena name is not equal to untiteled.arena, checks for unlinked wormholes and saves the arena.
private  boolean jMenuItemSaveArenaAsActionPerformed(java.awt.event.ActionEvent evt)
          This method is called when you select the save arena as menu item checks whether the arena has unlinked wormholes and opens a dialog to save the arena as.
private  void jMenuItemWormholeModeStateChanged(java.awt.event.ActionEvent evt)
          This method is called when the wormhole mode is activated or diactivated.
private  void jMenuItemZoomStateChanged(java.awt.event.ActionEvent evt)
          Turns zoom on/off.
private  boolean loadArena(java.io.File file)
          Loads an arena from a local file into this class.
private  boolean saveArena(java.io.File file)
          Savess an arena to a local file.
 boolean wormholeModeActivated()
          This method returns true, if the wormhole mode is activated.
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, createRootPaneException, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isRootPaneCheckingEnabled, paramString, processKeyEvent, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
, addNotify, addToFrameList, constructComponentName, finalize, getCursorType, getFrames, getIconImage, getMenuBar, getState, getTitle, initIDs, isResizable, postProcessKeyEvent, readObject, remove, removeFromFrameList, removeNotify, setCursor, setIconImage, setMenuBar, setResizable, setState, setTitle, writeObject
 
Methods inherited from class java.awt.Window
addOwnedWindow, addWindowListener, adjustListeningChildren, applyResourceBundle, applyResourceBundle, connectOwnedWindow, dispatchEventImpl, dispose, eventEnabled, getFocusOwner, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getOwnedWindows, getOwner, getToolkit, getWarningString, hide, isActive, isShowing, nextFocus, ownedInit, pack, postEvent, postWindowEvent, preProcessKeyEvent, processEvent, removeOwnedWindow, removeWindowListener, resetGC, setCursor, setFocusOwner, setWarningString, show, toBack, toFront, transferFocus
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyOrientation, checkGD, countComponents, createChildHierarchyEvents, createHierarchyEvents, deliverEvent, dispatchEventToSelf, doLayout, findComponentAt, findComponentAt, findComponentAt, getAccessibleAt, getAccessibleChild, getAccessibleChildrenCount, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents_NoClientCode, getComponents, getInsets, getLayout, getMaximumSize, getMinimumSize, getMouseEventTarget, getPreferredSize, getWindow, insets, invalidate, invalidateTree, isAncestorOf, layout, lightweightPaint, lightweightPrint, list, list, locate, minimumSize, numListening, paint, paintComponents, paintHeavyweightComponents, postsOldMouseEvents, preferredSize, print, printComponents, printHeavyweightComponents, processContainerEvent, proxyEnableEvents, proxyRequestFocus, remove, removeAll, removeContainerListener, setFont, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, areInputMethodsEnabled, bounds, checkImage, checkImage, checkWindowClosingException, coalesceEvents, contains, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getAccessibleIndexInParent, getAccessibleStateSet, getBackground, getBounds, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont_NoClientCode, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getInputMethodRequests, getLocation, getLocation, getLocationOnScreen_NoTreeLock, getLocationOnScreen, getName, getNativeContainer, getParent_NoClientCode, getParent, getPeer, getSize, getSize, getToolkitImpl, getTreeLock, getWidth, getWindowForObject, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isDisplayable, isDoubleBuffered, isEnabled, isEnabledImpl, isFocusTraversable, isLightweight, isOpaque, isRecursivelyVisible, 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, processMouseEvent, processMouseMotionEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

toolbar

private javax.swing.JToolBar toolbar
the toolbar

iconButton

private javax.swing.JButton[] iconButton
the buttons of the toolbar

defaultWidth

public static int defaultWidth
default width

defaultHeight

public static int defaultHeight
default height

isChild

private boolean isChild
true, if ArenaDesigner is started from Robomania, false if otherwise

wormholeMode

private boolean wormholeMode
wormhole mode on/off

arena

private Arena arena
the arena

aboutWindow

private ArenaDesignerAboutWindow aboutWindow
a about window

designerCanvas

private ArenaDesignerCanvas designerCanvas
the arena-designer canvas

arenaChanged

private boolean arenaChanged
is true when the arena has changed

actualFile

private java.io.File actualFile
contains the actual filename

jMenuBar

private javax.swing.JMenuBar jMenuBar
the menu bar

jMenuFile

private javax.swing.JMenu jMenuFile
the file menu

jMenuItemNewArena

private javax.swing.JMenuItem jMenuItemNewArena
new arena menu item in file menu

jMenuItemOpenArena

private javax.swing.JMenuItem jMenuItemOpenArena
open arena menu item in file menu

jMenuItemSaveArena

private javax.swing.JMenuItem jMenuItemSaveArena
save arena menu item in file menu

jMenuItemSaveArenaAs

private javax.swing.JMenuItem jMenuItemSaveArenaAs
save arena as menu item in file menu

jMenuItemQuit

private javax.swing.JMenuItem jMenuItemQuit
exit arena designer menu item in file menu

jMenuWormhole

private javax.swing.JMenu jMenuWormhole
the wormhole menu

jMenuItemWormholeMode

private javax.swing.JCheckBoxMenuItem jMenuItemWormholeMode
the wormhole mode menu item in the wormhole menu

jMenuView

private javax.swing.JMenu jMenuView
the view menu

jMenuItemZoom

private javax.swing.JCheckBoxMenuItem jMenuItemZoom
the zoom menu item

jMenuHelp

private javax.swing.JMenu jMenuHelp
the help menu

jMenuItemAbout

private javax.swing.JMenuItem jMenuItemAbout
the about menu item in the help menu

jMenuItemHelp

private javax.swing.JMenuItem jMenuItemHelp
the help menu item in the help menu

jScrollPane

private javax.swing.JScrollPane jScrollPane
the scroll panel containing the ArenaCanvas
Constructor Detail

ArenaDesignerFrame

public ArenaDesignerFrame(boolean isChild)
constructor, creates a new ArenaDesignerFrame with a empty arena of default width and height.
Parameters:
isChild - true, if ArenaDesigner is started from Robomania, false if started alone
Method Detail

createEmptyArena

public void createEmptyArena(int width,
                             int height)
Creates a new empty arena with the given width and height.
Parameters:
width - new width
height - new height

loadArena

private boolean loadArena(java.io.File file)
Loads an arena from a local file into this class.
Parameters:
file - a local file
Returns:
true, if arena was loaded successfully

saveArena

private boolean saveArena(java.io.File file)
Savess an arena to a local file.
Parameters:
file - a local file
Returns:
true, if arena was saved successfully

arenaHasChanged

public void arenaHasChanged()
Inform window that arena has changed.

initComponents

private void initComponents()
This method is called from within the constructor to initialize the GUI.

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
toolbar actions.
Specified by:
actionPerformed in interface java.awt.event.ActionListener
Parameters:
e - the ActionEvent

jMenuItemAboutActionPerformed

private void jMenuItemAboutActionPerformed(java.awt.event.ActionEvent evt)
Creates and shows a new about frame.
Parameters:
evt - the ActionEvent

jMenuItemHelpActionPerformed

private void jMenuItemHelpActionPerformed(java.awt.event.ActionEvent evt)
Creates and shows a new help frame.
Parameters:
evt - the ActionEvent

jMenuItemZoomStateChanged

private void jMenuItemZoomStateChanged(java.awt.event.ActionEvent evt)
Turns zoom on/off.
Parameters:
evt - the ActionEvent

jMenuItemWormholeModeStateChanged

private void jMenuItemWormholeModeStateChanged(java.awt.event.ActionEvent evt)
This method is called when the wormhole mode is activated or diactivated.
Parameters:
evt - the ActionEvent

jMenuItemQuitActionPerformed

private void jMenuItemQuitActionPerformed(java.awt.event.ActionEvent evt)
This method is called when you select the quit menu item.
Parameters:
evt - the ActionEvent

jMenuItemSaveArenaAsActionPerformed

private boolean jMenuItemSaveArenaAsActionPerformed(java.awt.event.ActionEvent evt)
This method is called when you select the save arena as menu item checks whether the arena has unlinked wormholes and opens a dialog to save the arena as.
Parameters:
evt - the ActionEvent
Returns:
true, if Arena could be saved, false if not

jMenuItemSaveArenaActionPerformed

private boolean jMenuItemSaveArenaActionPerformed(java.awt.event.ActionEvent evt)
This method is called when you select the save arena menu item checks whether the arena name is not equal to untiteled.arena, checks for unlinked wormholes and saves the arena.
Parameters:
evt - the ActionEvent
Returns:
true, if Arena could be saved, false if not

jMenuItemOpenArenaActionPerformed

private void jMenuItemOpenArenaActionPerformed(java.awt.event.ActionEvent evt)
This method is called when you select the open arena menu item checks whether the old arena has changed and opens a dialog to open a new arena.
Parameters:
evt - the ActionEvent

jMenuItemNewArenaActionPerformed

private void jMenuItemNewArenaActionPerformed(java.awt.event.ActionEvent evt)
This method is called when you select the new arena menu item checks whether the old arena has changed and opens a dialog to create a new arena.
Parameters:
evt - the ActionEvent

exitForm

private void exitForm(java.awt.event.WindowEvent evt)
This method is called to exit the frame.
Parameters:
evt - the WindowEvent

wormholeModeActivated

public boolean wormholeModeActivated()
This method returns true, if the wormhole mode is activated.
Returns:
true, if wormhole mode is activated, false, if not