stasichase.gui
Class MultiDialog

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--java.awt.Dialog
                          |
                          +--javax.swing.JDialog
                                |
                                +--stasichase.gui.MultiDialog
Direct Known Subclasses:
StartDialog, StartInfoDialog

public class MultiDialog
extends JDialog

Ein universelller Dialog um eine Meldung auf dem Bildschirm mit beliebigen oder standardisierten Buttons und Icons anzuzeigen und abzufragen.

Version:
$Id: MultiDialog.java,v 1.7 2000/07/05 13:03:15 rieck Exp $
Author:
Jörn Willhöft
See Also:
Serialized Form

Inner Class Summary
(package private)  class MultiDialog.ButtonListener
          Listener zur Behandlung der Buttonklicks.
(package private)  class MultiDialog.MultiButton
          Ein Button der sich seine Nummer "merkt".
(package private)  class MultiDialog.SymKey
          Keylistener zur Behandlung von Tastendrücken.
(package private)  class MultiDialog.SymWindow
          Windowlistener zur Behandlung der Fenster Events um Standardbutton zu fokussieren.
 
Inner classes inherited from class javax.swing.JDialog
JDialog.AccessibleJDialog
 
Inner classes inherited from class java.awt.Component
Component.AWTTreeLock
 
Field Summary
static int ABBRUCH
          Rückgabewert Dialog abgebrochen.
protected  int auswahl
           
protected  MultiDialog.ButtonListener butListener
           
protected  JPanel buttonPanel
           
static int FEHLER
          Fehler-Dialog mit rotem Kreis und weissem Kreuz.
protected static String FEHLER_IMG
           
static int FEHLER_SCHLIESSEN
          Fehler-Dialog mit "Schließen" Button.
protected  MultiDialog.MultiButton focusBut
           
static int FRAGE
          Frage-Dialog mit Sprechblase und "?".
protected static String FRAGE_IMG
           
static int FRAGE_JANEIN
          Frage-Dialog mit "Ja" und "Nein" Button.
protected  JPanel hauptPanel
          Das Hauptpanel beinhaltet, wenn ein Text gesetzt wird, lediglich textArea hier bietet sich für erbende Klassen allerdings eine Möglichkeit beliebige eigene Inhalte einzufügen.
protected  ImageIcon icon
           
static int INFO
          Info-Dialog mit Sprechblase und "i".
protected static String INFO_IMG
           
static int INFO_SCHLIESSEN
          Info-Dialog mit "Schließen" Button.
static int JA
          Buttonauswahl "Ja"
static int JANEIN
          Ein "Ja" und ein "Nein" Button.
protected static String[] JANEIN_BUTTONS
           
protected  JLabel jlabel_Icon
           
protected  JLabel jlabel_Spacer
           
static int NEIN
          Buttonauswahl "Nein"
static int SCHLIESSEN
          Nur "Schließen" Button.
protected static String[] SCHLIESSEN_BUTTON
           
protected  JTextArea textArea
           
static int WARNUNG
          Warnung-Dialog mit gelbem Dreieck und "!".
protected static String WARNUNG_IMG
           
static int WARNUNG_JANEIN
          Warnung-Dialog mit "Ja" und "Nein" Button.
static int WARNUNG_SCHLIESSEN
          Warnung-Dialog mit "Schließen" Button.
 
Fields inherited from class javax.swing.JDialog
accessibleContext, defaultCloseOperation, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Dialog
base, keepBlocking, modal, nameCounter, resizable, serialVersionUID, title
 
Fields inherited from class java.awt.Window
active, base, focusMgr, inputContext, nameCounter, OPENED, ownedWindowList, serialVersionUID, state, warningString, weakThis, windowListener, windowSerializedDataVersion
 
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
MultiDialog()
          Initialisiert den Dialog Frame-unabhängig ohne Buttons, Titel, Text oder Icon.
MultiDialog(Frame parent)
          Initialisiert den Dialog in Abhängigkeit von einem Frame ohne Buttons, Titel, Text oder Icon.
MultiDialog(Frame parent, int typ, String sTitle, String text)
          Initialisiert den Dialog mit gewünschten Einstellungen.
MultiDialog(Frame parent, int typ, String sTitle, String text, int iniFocus)
          Initialisiert den Dialog mit gewünschten Einstellungen.
MultiDialog(Frame parent, int typ, String sTitle, String text, String[] buts, int iniFocus)
          Initialisiert den Dialog mit gewünschten Einstellungen.
 
Method Summary
protected  void addButtons(String[] buts)
          Setzt eine Liste von Buttons, fokussiert aber keinen.
protected  void addButtons(String[] buts, int iniFocus)
          Setzt eine Liste von Buttons und fokussiert einen davon.
protected  void buttonPressed(ActionEvent event)
          Wird bei Button Drücken aufgerufen.
 void center()
          Zentriert den Dialog auf dem Bildschirm.
 int getAntwort()
          Liefert den gedrückten Button.
protected  Frame getFrame()
           
(package private)  void keyPressed_ESC(KeyEvent event)
          Behandelt den Tastendruck "Escape" und schließt den Dialog.
(package private)  void MultiDialog_keyPressed(KeyEvent event)
          Verteilt Tastendrücke auf weitere Methoden.
(package private)  void MultiDialog_windowOpened(WindowEvent event)
          Fokussiert den Standardbutton.
protected  void setIcon(int typ)
          Setzt eins von vier internen ImageIcons.
 void setText(String inhalt)
          Setzt den Text im TextArea und fügt das TextArea in das HauptPanel ein, wenn dieses noch leer ist.
 void setVisible(boolean b)
           
 
Methods inherited from class javax.swing.JDialog
addImpl, createRootPane, createRootPaneException, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isRootPaneCheckingEnabled, paramString, processKeyEvent, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setLocationRelativeTo, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Dialog
, addNotify, conditionalShow, constructComponentName, dispose, getTitle, hide, hideAndDisposeHandler, initIDs, isModal, isResizable, setModal, setResizable, setTitle, show
 
Methods inherited from class java.awt.Window
addOwnedWindow, addWindowListener, applyResourceBundle, applyResourceBundle, connectOwnedWindow, dispatchEventImpl, eventEnabled, finalize, getFocusOwner, getInputContext, getLocale, getOwnedWindows, getOwner, getToolkit, getWarningString, isActive, isShowing, nextFocus, ownedInit, pack, postEvent, postProcessKeyEvent, postWindowEvent, preProcessKeyEvent, processEvent, readObject, removeOwnedWindow, removeWindowListener, setCursor, setFocusOwner, setWarningString, toBack, toFront, transferFocus, writeObject
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyOrientation, countComponents, deliverEvent, dispatchEventToSelf, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents_NoClientCode, getComponents, getCursorTarget, getInsets, getLayout, getMaximumSize, getMinimumSize, getMouseEventTarget, getPreferredSize, getWindow, insets, invalidate, invalidateTree, isAncestorOf, layout, lightweightPrint, list, list, locate, minimumSize, paint, paintComponents, postsOldMouseEvents, preferredSize, print, printComponents, printHeavyweightComponents, printOneComponent, processContainerEvent, proxyEnableEvents, proxyRequestFocus, remove, removeAll, removeContainerListener, removeNotify, setFont, updateCursor, validate, validateTree
 
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, getInputMethodRequests, getIntrinsicCursor, getLocation, getLocation, 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, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processInputMethodEvent, processMouseEvent, processMouseMotionEvent, remove, removeComponentListener, removeFocusListener, 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, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

INFO

public static final int INFO
Info-Dialog mit Sprechblase und "i".

WARNUNG

public static final int WARNUNG
Warnung-Dialog mit gelbem Dreieck und "!".

FRAGE

public static final int FRAGE
Frage-Dialog mit Sprechblase und "?".

FEHLER

public static final int FEHLER
Fehler-Dialog mit rotem Kreis und weissem Kreuz.

SCHLIESSEN

public static final int SCHLIESSEN
Nur "Schließen" Button.

JANEIN

public static final int JANEIN
Ein "Ja" und ein "Nein" Button.

INFO_SCHLIESSEN

public static final int INFO_SCHLIESSEN
Info-Dialog mit "Schließen" Button.

WARNUNG_SCHLIESSEN

public static final int WARNUNG_SCHLIESSEN
Warnung-Dialog mit "Schließen" Button.

FRAGE_JANEIN

public static final int FRAGE_JANEIN
Frage-Dialog mit "Ja" und "Nein" Button.

WARNUNG_JANEIN

public static final int WARNUNG_JANEIN
Warnung-Dialog mit "Ja" und "Nein" Button.

FEHLER_SCHLIESSEN

public static final int FEHLER_SCHLIESSEN
Fehler-Dialog mit "Schließen" Button.

JANEIN_BUTTONS

protected static final String[] JANEIN_BUTTONS

SCHLIESSEN_BUTTON

protected static final String[] SCHLIESSEN_BUTTON

ABBRUCH

public static final int ABBRUCH
Rückgabewert Dialog abgebrochen.

JA

public static final int JA
Buttonauswahl "Ja"

NEIN

public static final int NEIN
Buttonauswahl "Nein"

FEHLER_IMG

protected static final String FEHLER_IMG

INFO_IMG

protected static final String INFO_IMG

FRAGE_IMG

protected static final String FRAGE_IMG

WARNUNG_IMG

protected static final String WARNUNG_IMG

auswahl

protected int auswahl

focusBut

protected MultiDialog.MultiButton focusBut

butListener

protected MultiDialog.ButtonListener butListener

jlabel_Spacer

protected JLabel jlabel_Spacer

buttonPanel

protected JPanel buttonPanel

jlabel_Icon

protected JLabel jlabel_Icon

textArea

protected JTextArea textArea

hauptPanel

protected JPanel hauptPanel
Das Hauptpanel beinhaltet, wenn ein Text gesetzt wird, lediglich textArea hier bietet sich für erbende Klassen allerdings eine Möglichkeit beliebige eigene Inhalte einzufügen.

icon

protected ImageIcon icon
Constructor Detail

MultiDialog

public MultiDialog(Frame parent)
Initialisiert den Dialog in Abhängigkeit von einem Frame ohne Buttons, Titel, Text oder Icon.
Parameters:
parent - der Frame, der diesen Dialog kontrolliert.

MultiDialog

public MultiDialog()
Initialisiert den Dialog Frame-unabhängig ohne Buttons, Titel, Text oder Icon.

MultiDialog

public MultiDialog(Frame parent,
                   int typ,
                   String sTitle,
                   String text,
                   int iniFocus)
Initialisiert den Dialog mit gewünschten Einstellungen. Es kann ein Dialogtyp ausgewählt werden, indem die Dialogkonstanten für die Icons (INFO, FRAGE, WARNUNG, FEHLER) und die für die Buttons (SCHLIESSEN, JANEIN) addiert werden.
Parameters:
parent - der Frame, der diesen Dialog kontrolliert.
typ - gewünschter Dialogtyp nach Buttons und Icons.
sTitle - ein Titel für den Dialog
text - ein Text der im Dialog angezeigt werden soll.
iniFocus - der Button, der standardmäßig ausgewählt ist. 0 ist ganz links, -1 keiner.

MultiDialog

public MultiDialog(Frame parent,
                   int typ,
                   String sTitle,
                   String text)
Initialisiert den Dialog mit gewünschten Einstellungen. Es kann ein Dialogtyp ausgewählt werden, indem die Dialogkonstanten für die Icons (INFO, FRAGE, WARNUNG, FEHLER) und die für die Buttons (SCHLIESSEN, JANEIN) addiert werden. Es wird kein Standardbutton ausgewählt.
Parameters:
parent - der Frame, der diesen Dialog kontrolliert.
typ - gewünschter Dialogtyp nach Buttons und Icons.
sTitle - ein Titel für den Dialog
text - ein Text der im Dialog angezeigt werden soll.

MultiDialog

public MultiDialog(Frame parent,
                   int typ,
                   String sTitle,
                   String text,
                   String[] buts,
                   int iniFocus)
Initialisiert den Dialog mit gewünschten Einstellungen. Es kann ein Dialogtyp ausgewählt werden, indem die Dialogkonstanten für die Icons (INFO, FRAGE, WARNUNG, FEHLER) und die für die Buttons (SCHLIESSEN, JANEIN) addiert werden. Es können beliebige eigene Buttontitel angegeben werden. Wenn in den Titeln das '^' erscheint, wird der nachfolgende Buchstabe als Mnemonic benutzt.
Parameters:
parent - der Frame, der diesen Dialog kontrolliert.
typ - gewünschter Dialogtyp nach Buttons und Icons.
sTitle - ein Titel für den Dialog
text - ein Text der im Dialog angezeigt werden soll.
buts - ein Array von Buttontiteln.
iniFocus - der Button, der standardmäßig ausgewählt ist. 0 ist ganz links, -1 keiner.
Method Detail

setIcon

protected void setIcon(int typ)
Setzt eins von vier internen ImageIcons.
Parameters:
typ - Dialogtyp, dem jeweils das entsprechende Icon zugeordnet ist.

setText

public void setText(String inhalt)
Setzt den Text im TextArea und fügt das TextArea in das HauptPanel ein, wenn dieses noch leer ist.

addButtons

protected void addButtons(String[] buts,
                          int iniFocus)
Setzt eine Liste von Buttons und fokussiert einen davon. Wenn in den Titeln das '^' erscheint, wird der nachfolgende Buchstabe als Mnemonic benutzt.
Parameters:
buts - ein Array von Buttontiteln.
iniFocus - der Button, der standardmäßig ausgewählt ist. 0 ist ganz links, -1 keiner.

addButtons

protected void addButtons(String[] buts)
Setzt eine Liste von Buttons, fokussiert aber keinen. Wenn in den Titeln das '^' erscheint, wird der nachfolgende Buchstabe als Mnemonic benutzt.
Parameters:
buts - ein Array von Buttontiteln.

buttonPressed

protected void buttonPressed(ActionEvent event)
Wird bei Button Drücken aufgerufen. Merkt sich die Nummer des Buttons und schließt den Dialog.

getAntwort

public int getAntwort()
Liefert den gedrückten Button.
Returns:
die Buttonnummer, 0 ist ganz links, -1 bedeutet noch keiner geklickt oder Dialog abgebrochen.

getFrame

protected Frame getFrame()

center

public void center()
Zentriert den Dialog auf dem Bildschirm.

setVisible

public void setVisible(boolean b)
Overrides:
setVisible in class Component

MultiDialog_windowOpened

void MultiDialog_windowOpened(WindowEvent event)
Fokussiert den Standardbutton.

MultiDialog_keyPressed

void MultiDialog_keyPressed(KeyEvent event)
Verteilt Tastendrücke auf weitere Methoden.
See Also:
keyPressed_ESC(KeyEvent)

keyPressed_ESC

void keyPressed_ESC(KeyEvent event)
Behandelt den Tastendruck "Escape" und schließt den Dialog.