Class StartEndePanel

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Panel
                    |
                    +--StartEndePanel

public class StartEndePanel
extends java.awt.Panel
implements java.awt.event.TextListener

Dieses Panel stellt die Eingabefelder fuer Startzustand und die Endzustandsmenge zur Verfuegung.

Version:
990604
Author:
Michael Stach <stach@bigfoot.de>
See Also:
Serialized Form

Inner Class Summary
 interface StartEndePanel.XUngueltigerZustand
          Exception fuer Syntaxfehler in den Eingaben
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AWTTreeLock
 
Field Summary
private  java.awt.GridBagConstraints constraints
          die Einstellungen zu GridBag
private  boolean editable
          true, wenn Eingaben moeglich sind
private  LabelAndTextField ende
          Eingabefeld fuer die Endzustaende
private static int field_width
          die Breite der Textfelder
private  java.awt.GridBagLayout gridbag
          der Layout-Manager
private  LabelAndTextField start
          Eingabefeld fuer den Startzustand
 
Fields inherited from class java.awt.Panel
base, nameCounter, serialVersionUID
 
Fields inherited from class java.awt.Container
component, containerListener, containerSerializedDataVersion, dispatcher, layoutMgr, maxSize, ncomponents, serialVersionUID
 
Fields inherited from class java.awt.Component
actionListenerK, adjustmentListenerK, appContext, assert, background, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, changeSupport, componentListener, componentListenerK, componentOrientation, componentSerializedDataVersion, containerListenerK, cursor, dropTarget, enabled, eventMask, focusListener, focusListenerK, font, foreground, hasFocus, height, incRate, inputMethodListener, inputMethodListenerK, isInc, isPacked, itemListenerK, keyListener, keyListenerK, LEFT_ALIGNMENT, locale, LOCK, minSize, mouseListener, mouseListenerK, mouseMotionListener, mouseMotionListenerK, name, nameExplicitlySet, newEventsOnly, ownedWindowK, parent, peer, peerFont, popups, prefSize, RIGHT_ALIGNMENT, serialVersionUID, textListenerK, TOP_ALIGNMENT, valid, visible, width, windowListenerK, x, y
 
Constructor Summary
StartEndePanel()
           
 
Method Summary
private  void checkSyntax()
          prueft den Syntax in den Eingabefeldern und setzt die Farben der Eingabefelder ensprechend.
 void fillFromParameters(java.lang.String start, java.lang.String ende)
          fuellt die Eingabefelder mit den beiden Strings
 AutomatenParameter getAutomatenParameter()
          Erzeugt ein AutomatenParameter-Objekt, welches nur Start- und Endzustaende enthaelt
 java.util.Vector getEndZustaende()
          Ermitteln der Endzustaende.
 java.awt.Dimension getMaximumSize()
           
 java.awt.Dimension getMinimumSize()
           
 java.awt.Dimension getPreferredSize()
           
 int getStartZustand()
          Ermitteln des Startzustandes.
 boolean isEditable()
          Ermittelt den Editierbarkeitsstatus.
private  boolean isEndSyntaxOk()
          prueft, ob der Syntax der Endzustaende ok ist
private  boolean isStartSyntaxOk()
          prueft, ob der Syntax des Startzustands ok ist
 void reset()
          Resettet die Eingabefelder
 void setEditable(boolean value)
          Schaltet die Moeglichkeit zu Editieren an/ab.
 void textValueChanged(java.awt.event.TextEvent e)
          wir pruefen hier den Syntax
 
Methods inherited from class java.awt.Panel
, addNotify, constructComponentName
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyOrientation, countComponents, deliverEvent, dispatchEventImpl, dispatchEventToSelf, doLayout, eventEnabled, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents_NoClientCode, getComponents, getInsets, getLayout, getMouseEventTarget, getWindow, initIDs, insets, invalidate, invalidateTree, isAncestorOf, layout, lightweightPrint, list, list, locate, minimumSize, nextFocus, paint, paintComponents, paramString, postProcessKeyEvent, postsOldMouseEvents, preferredSize, preProcessKeyEvent, print, printComponents, printOneComponent, processContainerEvent, processEvent, proxyEnableEvents, proxyRequestFocus, readObject, remove, remove, removeAll, removeContainerListener, removeNotify, setFocusOwner, setFont, setLayout, transferFocus, update, validate, validateTree, writeObject
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, areInputMethodsEnabled, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont_NoClientCode, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocation, getLocationOnScreen, getName, getNativeContainer, getParent_NoClientCode, getParent, getPeer, getSize, getSize, getToolkit, getToolkitImpl, getTreeLock, getWidth, getWindowForObject, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isDisplayable, isDoubleBuffered, isEnabled, isEnabledImpl, isFocusTraversable, isLightweight, isOpaque, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, remove, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

field_width

private static final int field_width
die Breite der Textfelder

start

private LabelAndTextField start
Eingabefeld fuer den Startzustand

ende

private LabelAndTextField ende
Eingabefeld fuer die Endzustaende

editable

private boolean editable
true, wenn Eingaben moeglich sind

gridbag

private java.awt.GridBagLayout gridbag
der Layout-Manager

constraints

private java.awt.GridBagConstraints constraints
die Einstellungen zu GridBag
Constructor Detail

StartEndePanel

public StartEndePanel()
Method Detail

getStartZustand

public int getStartZustand()
                    throws StartEndePanel.XUngueltigerZustand
Ermitteln des Startzustandes. Bei ungueltiger Eingabe wird die Exception XUngueltigerZustand ausgeloesst.
Returns:
der eingegebene Startzustand als int

getEndZustaende

public java.util.Vector getEndZustaende()
                                 throws StartEndePanel.XUngueltigerZustand
Ermitteln der Endzustaende. Bei ungueltiger Eingabe wird die Exception XUngueltigerZustand ausgeloesst.
Returns:
einen Vector von Integer mit den Endzustaenden

getAutomatenParameter

public AutomatenParameter getAutomatenParameter()
                                         throws StartEndePanel.XUngueltigerZustand
Erzeugt ein AutomatenParameter-Objekt, welches nur Start- und Endzustaende enthaelt
Returns:
das AutomatenParameter-Objekt

setEditable

public void setEditable(boolean value)
Schaltet die Moeglichkeit zu Editieren an/ab.
Parameters:
value - true fuer editierbar, false fuer nicht editierbar

isEditable

public boolean isEditable()
Ermittelt den Editierbarkeitsstatus.
Returns:
true, falls editierbar, sonst false

isStartSyntaxOk

private boolean isStartSyntaxOk()
prueft, ob der Syntax des Startzustands ok ist
Returns:
true, falls der Syntax ok ist

isEndSyntaxOk

private boolean isEndSyntaxOk()
prueft, ob der Syntax der Endzustaende ok ist
Returns:
true, falls der Syntax ok ist

checkSyntax

private void checkSyntax()
prueft den Syntax in den Eingabefeldern und setzt die Farben der Eingabefelder ensprechend.

textValueChanged

public void textValueChanged(java.awt.event.TextEvent e)
wir pruefen hier den Syntax
Specified by:
textValueChanged in interface java.awt.event.TextListener

fillFromParameters

public void fillFromParameters(java.lang.String start,
                               java.lang.String ende)
fuellt die Eingabefelder mit den beiden Strings
Parameters:
start - Inhalt fuer Startzustand
ende - Inhalt fuer Endzustaende

reset

public void reset()
Resettet die Eingabefelder

getPreferredSize

public java.awt.Dimension getPreferredSize()
Overrides:
getPreferredSize in class java.awt.Container

getMinimumSize

public java.awt.Dimension getMinimumSize()
Overrides:
getMinimumSize in class java.awt.Container

getMaximumSize

public java.awt.Dimension getMaximumSize()
Overrides:
getMaximumSize in class java.awt.Container