mapper.GUIComponents
Class GUIMain

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 mapper.GUIComponents.GUIMain
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class GUIMain
extends javax.swing.JFrame
implements java.awt.event.ActionListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener

Diese Klasse enthält den Basisaufbau der GUI wie die MenüLeiste, Icon Bar, Choicetree und der PaintingArea. In dieser Klasse werden auch die Action EventHandler und Mouse Handler abgearbeitet.

Version:
0.1
Author:
Emanuel Eden
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  ChoiceTree _choiceTree
           
private  Position _constantMouse
           
private  java.lang.Object _copyAndPaste
           
private  int _createMovementField
           
private  int _createNode
           
private  int _createPath
           
private  boolean _createRectangle
           
private  double _currentZoom
           
private  DeclarationDialogs _dialog
           
private  javax.swing.JScrollPane _jScrollPane1
           
private  javax.swing.JScrollPane _jScrollPane2
           
private  boolean _mapInWorkbench
           
private  MovementField _movementField
           
private  Node _node
           
private  boolean _pictureInWorkbench
           
private  PathLine _pline
           
private  ValueTable _valueTable
           
private  PaintingArea _workbench
           
 
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 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
GUIMain()
          Initialisierung der GUI, wie oben angegeben.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent ae)
          ActionEventHandler für die Menü und IconToolBar.
private  double computeZRX()
          Berechet die Grössenverhältnisse zwichen Zoomfaktor und realem Szenario.
private  double computeZRY()
          Berechet die Grössenverhältnisse zwichen Zoomfaktor und realem Szenario.
private  void createPathFinish(java.awt.event.MouseEvent event)
          Beendet die Bewegungdeklaration für Objekte wie Node oder MovementField
private  void makeMenu(javax.swing.JMenuBar menuBar, Menu menu)
          Erstellt die Menübar.
private  void makeToolBar(javax.swing.JToolBar toolBar, Menu menu)
          Erstellt die IconToolBar.
private  void menuItem_AddMovementField()
          Bereitet die AuswahlWerte vor, um ein neues MovementField Objekt zu erstellen.
private  void menuItem_AddNode()
          Fügt einem MovementField ein neues Node Objekt hinzu.
private  void menuItem_AddRectangle()
          Erstellen eines MovementField mithilfe eines Rectangles.
private  void menuItem_Copy()
          Kopieren eines Objektes. z.B eines Nodes oder MovementFields
private  void menuItem_Cursor()
          Bei Cursor werden die momentane Auswahl wieder auf default Werte gelegt.
private  void menuItem_Delete()
          Löschte ein Objekt der Form Node oder MovementField aus dem Szenario.
private  void menuItem_HidePicture()
          Versteckt die Karte der PaintingArea.
private  void menuItem_LoadPicture()
          Läd eine Karte in das Szenario
private  void menuItem_MakePath()
          Erstellt den Bewegungspfad eines Node oder MovementField.
private  void menuItem_New()
          Erstellt ein neues Szenario, das in einem ValueNew Objekt abgespeichert wird.
private  void menuItem_Paste()
          Einfügen eines kopierten Objektes.
private  void menuItem_ZoomIn()
          Zoomfaktor um 0.1 Prozent erhöhen.
private  void menuItem_ZoomOut()
          Zoomfaktor um 0.1 Prozent verkleinern.
 void mouseClicked(java.awt.event.MouseEvent event)
          Maus Button wurde gedrückt
 void mouseDragged(java.awt.event.MouseEvent event)
          Objekt bearbeiten bei gedrückter Maustaste.
 void mouseEntered(java.awt.event.MouseEvent event)
           
 void mouseExited(java.awt.event.MouseEvent event)
           
 void mouseMoved(java.awt.event.MouseEvent event)
          Mouse Moved Events für die Path Generierung.
 void mousePressed(java.awt.event.MouseEvent event)
          Wird abgearbeitet, wenn der Mouse Button runtergedrückt wurde.
 void mouseReleased(java.awt.event.MouseEvent event)
          Wenn der gedrückte MouseButton losgelassen wird.
private  void OptionPaneDialog(int dialogNum, java.lang.String windowText, java.lang.String descriptionText)
          Übergabe an ein OptionPaneDialog, es verwaltet z.B Error, Information und Warning Messages.
private  void paintingArea_createNode(java.awt.event.MouseEvent event)
          Fügt einem MovementField eine deklarierte Anzahl von Nodes hinzu.
private  void paintingArea_createPolygon(java.awt.event.MouseEvent event)
          Erstellt ein neuen Polygonpunkt im MovementField
private  void paintingArea_marked(java.awt.event.MouseEvent event)
          Diese Methode ist zum feststellen, ob sich unter dem Cursor beim Clicken ein Objekt befindet, wenn ja, wird es markiert.
private  void setAllValuesToDefault()
          Setzt alle momentan aktivierten Aktionen, wie z.B das Erstellen eines Vierecks oder der Positionierung eines Node-Objekts, zurück auf den Defaultwert, damit eine neue Aktion problemlos, ohne bereits bestehende Werte, bearbeitet werden kann.
private  void setMarkedToDefault(boolean viewport)
          Setzt die Markierung auf die Default Werte.
private  void setMovementFieldToDefault(boolean viewport)
          Setzt die MovementField Auswahl auf Default
private  void setNodesToDefault(boolean viewport)
          Setzt die Node und path Auswahl auf default
private  void zoom(float size)
          Setzt den Zoomfaktor auf der Paintinarea fest
 
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

_valueTable

private ValueTable _valueTable

_choiceTree

private ChoiceTree _choiceTree

_constantMouse

private Position _constantMouse

_movementField

private MovementField _movementField

_node

private Node _node

_pline

private PathLine _pline

_copyAndPaste

private java.lang.Object _copyAndPaste

_dialog

private DeclarationDialogs _dialog

_workbench

private PaintingArea _workbench

_jScrollPane1

private javax.swing.JScrollPane _jScrollPane1

_jScrollPane2

private javax.swing.JScrollPane _jScrollPane2

_mapInWorkbench

private boolean _mapInWorkbench

_pictureInWorkbench

private boolean _pictureInWorkbench

_createRectangle

private boolean _createRectangle

_createMovementField

private int _createMovementField

_createNode

private int _createNode

_createPath

private int _createPath

_currentZoom

private double _currentZoom
Constructor Detail

GUIMain

public GUIMain()
Initialisierung der GUI, wie oben angegeben.

Method Detail

makeMenu

private void makeMenu(javax.swing.JMenuBar menuBar,
                      Menu menu)
Erstellt die Menübar.

Parameters:
menuBar - enthält das Container-Objekt JMenuBar
menu - enthält die Menüeinträge.

makeToolBar

private void makeToolBar(javax.swing.JToolBar toolBar,
                         Menu menu)
Erstellt die IconToolBar.

Parameters:
toolBar - enthält das Container-Objekt JToolBar
menu - enthält die Toolbar Einträge

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent ae)
ActionEventHandler für die Menü und IconToolBar.

Specified by:
actionPerformed in interface java.awt.event.ActionListener

OptionPaneDialog

private void OptionPaneDialog(int dialogNum,
                              java.lang.String windowText,
                              java.lang.String descriptionText)
Übergabe an ein OptionPaneDialog, es verwaltet z.B Error, Information und Warning Messages. Dabei sind die dialog Nummern, 0=Error, 1 = Information 2 = Warning, 3 = Question, 4= Plane Message.

Parameters:
dialogNum - Dialog Nummer.
windowText - Der Window Text der ausgegeben wird
descriptionText - Der Erklärungstext

menuItem_New

private void menuItem_New()
Erstellt ein neues Szenario, das in einem ValueNew Objekt abgespeichert wird.


menuItem_Cursor

private void menuItem_Cursor()
Bei Cursor werden die momentane Auswahl wieder auf default Werte gelegt. Dazu zählen z.B, das Abbrechen zum erstellen eines Node, Polygon oder Rectangle objektes, sowie der Beendigung einer Markierung.


menuItem_Copy

private void menuItem_Copy()
Kopieren eines Objektes. z.B eines Nodes oder MovementFields


menuItem_Paste

private void menuItem_Paste()
Einfügen eines kopierten Objektes.


menuItem_AddNode

private void menuItem_AddNode()
Fügt einem MovementField ein neues Node Objekt hinzu.


menuItem_AddMovementField

private void menuItem_AddMovementField()
Bereitet die AuswahlWerte vor, um ein neues MovementField Objekt zu erstellen.


menuItem_AddRectangle

private void menuItem_AddRectangle()
Erstellen eines MovementField mithilfe eines Rectangles.


menuItem_MakePath

private void menuItem_MakePath()
Erstellt den Bewegungspfad eines Node oder MovementField.


menuItem_LoadPicture

private void menuItem_LoadPicture()
Läd eine Karte in das Szenario


menuItem_Delete

private void menuItem_Delete()
Löschte ein Objekt der Form Node oder MovementField aus dem Szenario.


menuItem_HidePicture

private void menuItem_HidePicture()
Versteckt die Karte der PaintingArea.


menuItem_ZoomIn

private void menuItem_ZoomIn()
Zoomfaktor um 0.1 Prozent erhöhen.


menuItem_ZoomOut

private void menuItem_ZoomOut()
Zoomfaktor um 0.1 Prozent verkleinern.


setAllValuesToDefault

private void setAllValuesToDefault()
Setzt alle momentan aktivierten Aktionen, wie z.B das Erstellen eines Vierecks oder der Positionierung eines Node-Objekts, zurück auf den Defaultwert, damit eine neue Aktion problemlos, ohne bereits bestehende Werte, bearbeitet werden kann.


setNodesToDefault

private void setNodesToDefault(boolean viewport)
Setzt die Node und path Auswahl auf default

Parameters:
viewport - Boolean, ob die PaintingArea aufgefrischt werden soll

setMovementFieldToDefault

private void setMovementFieldToDefault(boolean viewport)
Setzt die MovementField Auswahl auf Default

Parameters:
viewport - Boolean, ob die PaintingArea aufgefrischt werden soll

setMarkedToDefault

private void setMarkedToDefault(boolean viewport)
Setzt die Markierung auf die Default Werte.

Parameters:
viewport -

zoom

private void zoom(float size)
Setzt den Zoomfaktor auf der Paintinarea fest

Parameters:
size - fload von Zoomfaktor, kann negative und positive Werte annehmen

computeZRX

private double computeZRX()
Berechet die Grössenverhältnisse zwichen Zoomfaktor und realem Szenario.

Returns:
Zoomfaktorkorrektur der X-Koordinate

computeZRY

private double computeZRY()
Berechet die Grössenverhältnisse zwichen Zoomfaktor und realem Szenario.

Returns:
Zoomfaktorkorrektur der X-Koordinate

mousePressed

public void mousePressed(java.awt.event.MouseEvent event)
Wird abgearbeitet, wenn der Mouse Button runtergedrückt wurde. Gilt für den Aufbau eines Rectangles, das im gedrückten Zustand bearbeitet wird.

Specified by:
mousePressed in interface java.awt.event.MouseListener

mouseDragged

public void mouseDragged(java.awt.event.MouseEvent event)
Objekt bearbeiten bei gedrückter Maustaste.

Specified by:
mouseDragged in interface java.awt.event.MouseMotionListener

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent event)
Wenn der gedrückte MouseButton losgelassen wird.

Specified by:
mouseReleased in interface java.awt.event.MouseListener

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent event)
Maus Button wurde gedrückt

Specified by:
mouseClicked in interface java.awt.event.MouseListener

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent event)
Mouse Moved Events für die Path Generierung. Erneuert die Linie zwischen Pathabschnittspunkt und Mousecursor

Specified by:
mouseMoved in interface java.awt.event.MouseMotionListener

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent event)
Specified by:
mouseEntered in interface java.awt.event.MouseListener

mouseExited

public void mouseExited(java.awt.event.MouseEvent event)
Specified by:
mouseExited in interface java.awt.event.MouseListener

paintingArea_createPolygon

private void paintingArea_createPolygon(java.awt.event.MouseEvent event)
Erstellt ein neuen Polygonpunkt im MovementField

Parameters:
event - MouseEvent

paintingArea_createNode

private void paintingArea_createNode(java.awt.event.MouseEvent event)
Fügt einem MovementField eine deklarierte Anzahl von Nodes hinzu.

Parameters:
event - MouseEvent

paintingArea_marked

private void paintingArea_marked(java.awt.event.MouseEvent event)
Diese Methode ist zum feststellen, ob sich unter dem Cursor beim Clicken ein Objekt befindet, wenn ja, wird es markiert.

Parameters:
event - MouseEvent

createPathFinish

private void createPathFinish(java.awt.event.MouseEvent event)
Beendet die Bewegungdeklaration für Objekte wie Node oder MovementField

Parameters:
event - MouseEvent