Class TabellenPanel

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

public class TabellenPanel
extends java.awt.Panel

Tabelle zur Eingabe der Automatentafel

Version:
990527
Author:
Christian Heinemann <heinemann@bigfoot.de>
See Also:
Serialized Form

Inner Class Summary
(package private)  class TabellenPanel.TabellenPanelRow
          kapselt eine Tabellenzeile in TabellenPanel
 interface TabellenPanel.XUngueltigeEingabe
           
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AWTTreeLock
 
Field Summary
private  TabellenPanel.TabellenPanelRow.TabellenPanelCell focusedCell
          zuletzt fokusierte Tabellenzelle
private  java.awt.GridBagLayout gridbag
          Layout-Manager zur Darstellung der Tabelle
private  int minnumrows
          die minimale Anzahl der sichtbaren Tabellenzeilen
private  java.util.Vector rows
          speichert die Zeilen der Tabelle aus Objekte von TabllenPanelRow
 
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
TabellenPanel()
          erstellt eine neue Tabelle mit der minimalen Zeilenzahl
 
Method Summary
protected  void appendRow()
          fügt eine neue Tabellenzeile ein
 void fillFromParameters(java.lang.String parameter)
          ermöglicht das Füllen der Tabelle an Hand einer Zeichenkette
 void generiereAutomatenParameter(AutomatenParameter parameter)
          Füllt Automaten-Parameter an Hand der Tabelle aus
protected  TabellenPanel.TabellenPanelRow.TabellenPanelCell getFocusedCell()
          liefert die zuletzt fokusierte Tabellenzelle
private  TabellenPanel.TabellenPanelRow getLastLastRow()
          liefert einen Verweis auf die vorletzte Tabellenzeile
private  TabellenPanel.TabellenPanelRow getLastRow()
          liefert einen Verweis auf die letzte Tabellenzeile
private  void reBound(boolean remove, TabellenPanel.TabellenPanelRow current)
          Anpassung der Tabellengröße an Inhalt
protected  void removeRow()
          entfernt die letzte Tabellenzeile
protected  void reset()
          löscht den Inhalt der Tabelle
 void setEnabled(boolean b)
          setzt den Bearbeitungsstatus der Tabelle
private  void setFocusedCell(TabellenPanel.TabellenPanelRow.TabellenPanelCell cell)
          vermerkt die zuletzt fokusierte Tabellenzelle
protected  void textChanged(TabellenPanel.TabellenPanelRow row)
          wird aufgerufen, falls sich Inhalt einer Tabellenzeile geändert hat
protected  void updateTabelle()
          benachrichtigt das Elternobjekt über Größenänderung
 
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, getMaximumSize, getMinimumSize, getMouseEventTarget, getPreferredSize, 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, 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

rows

private java.util.Vector rows
speichert die Zeilen der Tabelle aus Objekte von TabllenPanelRow

minnumrows

private final int minnumrows
die minimale Anzahl der sichtbaren Tabellenzeilen

gridbag

private java.awt.GridBagLayout gridbag
Layout-Manager zur Darstellung der Tabelle

focusedCell

private TabellenPanel.TabellenPanelRow.TabellenPanelCell focusedCell
zuletzt fokusierte Tabellenzelle
Constructor Detail

TabellenPanel

public TabellenPanel()
erstellt eine neue Tabelle mit der minimalen Zeilenzahl
Method Detail

updateTabelle

protected void updateTabelle()
benachrichtigt das Elternobjekt über Größenänderung

appendRow

protected void appendRow()
fügt eine neue Tabellenzeile ein

removeRow

protected void removeRow()
entfernt die letzte Tabellenzeile

setFocusedCell

private void setFocusedCell(TabellenPanel.TabellenPanelRow.TabellenPanelCell cell)
vermerkt die zuletzt fokusierte Tabellenzelle
Parameters:
cell - Verweis auf die Zelle

getFocusedCell

protected TabellenPanel.TabellenPanelRow.TabellenPanelCell getFocusedCell()
liefert die zuletzt fokusierte Tabellenzelle
Returns:
Verweis auf die Zelle

getLastRow

private TabellenPanel.TabellenPanelRow getLastRow()
liefert einen Verweis auf die letzte Tabellenzeile
Returns:
Verweis auf die Zeile

getLastLastRow

private TabellenPanel.TabellenPanelRow getLastLastRow()
liefert einen Verweis auf die vorletzte Tabellenzeile
Returns:
Verweis auf die Zeile

reBound

private void reBound(boolean remove,
                     TabellenPanel.TabellenPanelRow current)
Anpassung der Tabellengröße an Inhalt
Parameters:
remove - Tabelle bei Bedarf verkleinern
current - aktuelle Tabellenzeile

textChanged

protected void textChanged(TabellenPanel.TabellenPanelRow row)
wird aufgerufen, falls sich Inhalt einer Tabellenzeile geändert hat
Parameters:
row - Verweis auf die Tabellenzeile

setEnabled

public void setEnabled(boolean b)
setzt den Bearbeitungsstatus der Tabelle
Parameters:
b - gibt an, ob die Tabelle editiert werden darf
Overrides:
setEnabled in class java.awt.Component

generiereAutomatenParameter

public void generiereAutomatenParameter(AutomatenParameter parameter)
                                 throws TabellenPanel.XUngueltigeEingabe
Füllt Automaten-Parameter an Hand der Tabelle aus
Parameters:
parameter - Verweis auf auszufüllende Automaten-Parameter
Throws:
TabellenPanel.XUngueltigeEingabe - keine Konvertierung möglich

reset

protected void reset()
löscht den Inhalt der Tabelle

fillFromParameters

public void fillFromParameters(java.lang.String parameter)
ermöglicht das Füllen der Tabelle an Hand einer Zeichenkette
Parameters:
parameter - Inhalt der Tabelle mit folgendem Format: <startzustand>,<zeichen>,<endzustand>{,<endzustand>} {;<startzustand>,<zeichen>,<endzustand>{,<endzustand>}}