ro.inf.p2.odd.alan
Class Alan

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 ro.inf.p2.odd.alan.Alan
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.event.FocusListener, java.awt.event.KeyListener, java.awt.event.MouseListener, java.awt.event.WindowListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.ChangeListener, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class Alan
extends javax.swing.JFrame
implements java.awt.event.FocusListener, java.awt.event.MouseListener, java.awt.event.ActionListener, java.awt.event.KeyListener, java.awt.event.WindowListener, javax.swing.event.ChangeListener

Implements a graphical frontend for the Turing Machine with input elements for the Turing Machine tuple, the transition functions and output elements for a textual output of the tape plus additional information like: no transition function defined for character 'c' and so on. We have also realised a graphical tape which displays the transition action happening while Alan is running. Additionally there is a input field for a comment, so that one can document his/her Turing Machine function.

See Also:
Serialized Form

Field Summary
static java.awt.Color BG_COLOR
           
static char DELIMITER
           
static java.lang.String WELCOME_MSG
           
 
Fields inherited from class javax.swing.JFrame
EXIT_ON_CLOSE
 
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
Alan()
          Default-Konstruktor.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          Defines the actions for every component which uses the actionListener.
 void clearAllInputs()
          Clears all input fields.
 void exitAlan()
          Exit Alan.
 void focusGained(java.awt.event.FocusEvent e)
          Set the background color of a component, so that the user can easier figure out which input field has the current focus
 void focusLost(java.awt.event.FocusEvent e)
          Reset the background color of a component
 void keyPressed(java.awt.event.KeyEvent e)
          Required because we implement KeyListener
 void keyReleased(java.awt.event.KeyEvent e)
          Required because we implement KeyListener
 void keyTyped(java.awt.event.KeyEvent e)
          Required because we implement KeyListener
static void main(java.lang.String[] args)
          There is nothing to say about this function :).
 void mouseClicked(java.awt.event.MouseEvent e)
          Required because we implement MouseListener
 void mouseEntered(java.awt.event.MouseEvent e)
          Required because we implement MouseListener, displays a message discribing the current control in the statusbar
 void mouseExited(java.awt.event.MouseEvent e)
          Required because we implement MouseListener, displays a friendly welcome message in the statusbar
 void mousePressed(java.awt.event.MouseEvent e)
          Required because we implement MouseListener
 void mouseReleased(java.awt.event.MouseEvent e)
          Required because we implement MouseListener
 void saveFile()
          Save the file to a specified filename.
 void setChanged(boolean changed)
          Set alans internal state to be modified, needed by HtmlEditor whenever the user changes the documentation
 void stateChanged(javax.swing.event.ChangeEvent e)
          Required because we implement ChangeListener
 void windowActivated(java.awt.event.WindowEvent e)
          Required because we implement WindowListener
 void windowClosed(java.awt.event.WindowEvent e)
          Required because we implement WindowListener
 void windowClosing(java.awt.event.WindowEvent e)
          Required because we implement WindowListener
 void windowDeactivated(java.awt.event.WindowEvent e)
          Required because we implement WindowListener
 void windowDeiconified(java.awt.event.WindowEvent e)
          Required because we implement WindowListener
 void windowIconified(java.awt.event.WindowEvent e)
          Required because we implement WindowListener
 void windowOpened(java.awt.event.WindowEvent e)
          Required because we implement WindowListener
 
Methods inherited from class javax.swing.JFrame
getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, update
 
Methods inherited from class java.awt.Frame
addNotify, 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, 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, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, dispatchEvent, enable, enable, enableInputMethods, 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, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, 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
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

DELIMITER

public static final char DELIMITER
See Also:
Constant Field Values

WELCOME_MSG

public static final java.lang.String WELCOME_MSG
See Also:
Constant Field Values

BG_COLOR

public static final java.awt.Color BG_COLOR
Constructor Detail

Alan

public Alan()
Default-Konstruktor. Building the complete GUI for Alan. We have a menu- and a toolbar.

Method Detail

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Defines the actions for every component which uses the actionListener.

Specified by:
actionPerformed in interface java.awt.event.ActionListener
Parameters:
e -

focusGained

public void focusGained(java.awt.event.FocusEvent e)
Set the background color of a component, so that the user can easier figure out which input field has the current focus

Specified by:
focusGained in interface java.awt.event.FocusListener
Parameters:
e -

focusLost

public void focusLost(java.awt.event.FocusEvent e)
Reset the background color of a component

Specified by:
focusLost in interface java.awt.event.FocusListener
Parameters:
e -

mouseExited

public void mouseExited(java.awt.event.MouseEvent e)
Required because we implement MouseListener, displays a friendly welcome message in the statusbar

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

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent e)
Required because we implement MouseListener, displays a message discribing the current control in the statusbar

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

mousePressed

public void mousePressed(java.awt.event.MouseEvent e)
Required because we implement MouseListener

Specified by:
mousePressed in interface java.awt.event.MouseListener
Parameters:
e -

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent e)
Required because we implement MouseListener

Specified by:
mouseClicked in interface java.awt.event.MouseListener
Parameters:
e -

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
Required because we implement MouseListener

Specified by:
mouseReleased in interface java.awt.event.MouseListener
Parameters:
e -

keyTyped

public void keyTyped(java.awt.event.KeyEvent e)
Required because we implement KeyListener

Specified by:
keyTyped in interface java.awt.event.KeyListener
Parameters:
e -

keyPressed

public void keyPressed(java.awt.event.KeyEvent e)
Required because we implement KeyListener

Specified by:
keyPressed in interface java.awt.event.KeyListener
Parameters:
e -

keyReleased

public void keyReleased(java.awt.event.KeyEvent e)
Required because we implement KeyListener

Specified by:
keyReleased in interface java.awt.event.KeyListener
Parameters:
e -

windowOpened

public void windowOpened(java.awt.event.WindowEvent e)
Required because we implement WindowListener

Specified by:
windowOpened in interface java.awt.event.WindowListener
Parameters:
e -

windowClosing

public void windowClosing(java.awt.event.WindowEvent e)
Required because we implement WindowListener

Specified by:
windowClosing in interface java.awt.event.WindowListener
Parameters:
e -

windowClosed

public void windowClosed(java.awt.event.WindowEvent e)
Required because we implement WindowListener

Specified by:
windowClosed in interface java.awt.event.WindowListener
Parameters:
e -

windowIconified

public void windowIconified(java.awt.event.WindowEvent e)
Required because we implement WindowListener

Specified by:
windowIconified in interface java.awt.event.WindowListener
Parameters:
e -

windowDeiconified

public void windowDeiconified(java.awt.event.WindowEvent e)
Required because we implement WindowListener

Specified by:
windowDeiconified in interface java.awt.event.WindowListener
Parameters:
e -

windowActivated

public void windowActivated(java.awt.event.WindowEvent e)
Required because we implement WindowListener

Specified by:
windowActivated in interface java.awt.event.WindowListener
Parameters:
e -

windowDeactivated

public void windowDeactivated(java.awt.event.WindowEvent e)
Required because we implement WindowListener

Specified by:
windowDeactivated in interface java.awt.event.WindowListener
Parameters:
e -

stateChanged

public void stateChanged(javax.swing.event.ChangeEvent e)
Required because we implement ChangeListener

Specified by:
stateChanged in interface javax.swing.event.ChangeListener
Parameters:
e -

exitAlan

public void exitAlan()
Exit Alan.


clearAllInputs

public void clearAllInputs()
Clears all input fields. This is done when the user creates a new empty turing machine.


saveFile

public void saveFile()
Save the file to a specified filename.


setChanged

public void setChanged(boolean changed)
Set alans internal state to be modified, needed by HtmlEditor whenever the user changes the documentation

Parameters:
changed - set the internal state to this value

main

public static void main(java.lang.String[] args)
There is nothing to say about this function :).

Parameters:
args -