Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## de.jsystems.framework.common
Class StartUpPic

    java.lang.Object
      java.awt.Component
          java.awt.Container
              java.awt.Window
                  javax.swing.JWindow
                      de.jsystems.framework.common.StartUpPic

All Implemented Interfaces:
  Accessible, ActionListener, EventListener, ImageObserver, MenuContainer, RootPaneContainer, Serializable

public class StartUpPic
extends JWindow
implements ActionListener

Zeigt während der Initialisierung einer Applikation ein Bild mit einer Fortschrittsanzeige an. Jede Klasse, die zum Initialisieren etwas Zeit benötigt, registriert sich hier und kann so die Anzeige aktualisieren. Wenn die Initialisierung abgeschlosen ist muß sich die registrierte Klasse wieder deregistrieren. Sobald die letzte registrierte Klasse deregistriert wurde verschwindet das Fenster von der Oberfläche. Das passiert nach einer kleinen Zeitspanne nach dem deregistrieren des letzten Senders. Damit wird ein flackern des Bildes verhindert, falls sich nach einiger Zeit nochmal ein Sender registrieren moechte, dessen Start aber etwas laenger dauert. Diese Zeitspanne betraegt 2. Sekunden. Die Klasse {1link de.jsystems.framework.common.Controller Controller} registriert sich standardmaessig beim Initialisieren hier. Deshalb wird als Default beim starten einer Anwendung auch immer ein Splash-Screen angezeigt. Klassen, die an dem Startbild aenderungen vornehmen wollen, muessen das Interface `IProgressSender` implementieren. Bei diesem Interface handelt es sich um ein MarkerInterface. Es enthaelt also keine zu implementierenden Methoden.

Version:
  1.0
  Copyright by Jens Homm 2001 - 2003
Author:
  Jens Homm JSYSTEMS
See Also:
  Serialized Form

Nested Class Summary

Nested classes inherited from class javax.swing.JWindow
`JWindow.AccessibleJWindow`

Nested classes inherited from class java.awt.Window
`Window.AccessibleAWTWindow`

Nested classes inherited from class java.awt.Container
`Container.AccessibleAWTContainer`

Nested classes inherited from class java.awt.Component
`Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy`

Field Summary
`protected FPanel` | `picturePanel` Panel für das Bild
`protected JProgressBar` | `progressBar` Fortschrittsanzeige
`protected List` | `senderList` Vector für die einzelnen Sender
`protected FLabel` | `statusText` Label für den Text

Fields inherited from class javax.swing.JWindow
`accessibleContext, rootPane, rootPaneCheckingEnabled`

Fields inherited from class java.awt.Window
``

Fields inherited from class java.awt.Container
``

Fields inherited from class java.awt.Component
`BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

Fields inherited from interface java.awt.image.ImageObserver
`ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

Constructor Summary
`StartUpPic()` Initialisiert das StartUpPic.

Method Summary
`void` | `actionPerformed(ActionEvent ae)` Diese Methode wird vom Timer aufgerufen.
`void` | `addProgressSender(IProgressSender sender)` Registriert eine neue Klase als Sender für die Fortschrittsanzeige.
`protected void` | `init()` Erzeugt die Oberflaeche fuer das StartUpPic.
`void` | `readImage(IProgressSender sender, String iconName)` Liest das Icon ein, das mit dem Iconnamen spezifiziert wurde.
`void` | `removeProgressSender(IProgressSender sender)` Löscht den registrierten Sender.
`void` | `setPicture(IProgressSender sender, ImageIcon pic)` Bild für die Anzeige festlegen.
`void` | `setProgressProcent(IProgressSender sender, int procent)` Setzt die Fortschrittsanzeige.
`void` | `setProgressProcent(IProgressSender sender, String procent)` Setzt die Fortschrittsanzeige.
`void` | `setStatusText(IProgressSender sender, String s)` Setzt einen Anzeigetext fuer das Startbild.
`protected void` | `zentrieren()` Zentriert den Splash-Screen auf der Mitte des Bildschirm.

Methods inherited from class javax.swing.JWindow
`addImpl, createRootPane, getAccessibleContext, getContentPane, getGlassPane, getLayeredPane, getRootPane, isRootPaneCheckingEnabled, paramString, remove, setContentPane, setGlassPane, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update, windowInit`

Methods inherited from class java.awt.Window
`addNotify, addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, finalize, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isFocusableWindow, isFocusCycleRoot, isFocused, isShowing, pack, postEvent, processEvent, processWindowEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setCursor, setFocusableWindowState, setFocusCycleRoot, 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, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, removeNotify, setFocusTraversalKeys, setFocusTraversalPolicy, 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, 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, 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, isOpaque, 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, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle`

Methods inherited from class java.lang.Object
`clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### progressBar

    protected JProgressBar progressBar

  Fortschrittsanzeige

### senderList

    protected List senderList

  Vector für die einzelnen Sender

### statusText

    protected FLabel statusText

  Label für den Text

### picturePanel

    protected FPanel picturePanel

  Panel für das Bild

Constructor Detail

### StartUpPic

    public StartUpPic()

  Initialisiert das StartUpPic. Hier wird dann die Oberflaeche zusammengebaut und der Timer initialisiert.

Method Detail

### init

    protected void init()

  Erzeugt die Oberflaeche fuer das StartUpPic. Das Fenster wird mit einem Bereich fuer ein Bild versehen sowie einer Fortschrittsanzeige.

### addProgressSender

    public void addProgressSender(IProgressSender sender)

  Registriert eine neue Klase als Sender für die Fortschrittsanzeige. Beim ersten Aufruf dieser Methode wird das Fenster sichtbar.

  Parameters:
    `sender` - Der zu registrierende Sender.

### removeProgressSender

    public void removeProgressSender(IProgressSender sender)

  Löscht den registrierten Sender. Sobald der letzte registrierte Sender ueber diese Methode geloescht wurde wird der Timer gestartet. Dann verschwindet nach 2 Sekunden das Fenster, sofern in dieser Zeit nicht ueber die Methode `addProgressSender(IProgressSender)` ein neuer Sender registriert wurde.

  Parameters:
    `sender` - Der zu loeschende Sender.

### setPicture

    public void setPicture(IProgressSender sender,
                           ImageIcon pic)

  Bild für die Anzeige festlegen. Nur vorher registrierte Sender können hier was ändern. Sobald das Bild dem Panel hinzugefuegt wurde wird die Oberflaeche aktualisiert und der Dialog auf alle Faelle in den Vordergrund gestellt. Wenn der uebergebene Sender kein ueber die Methode `addProgressSender(IProgressSender)` registrierter Sender ist passiert nichts.

  Parameters:
    `sender` - Ein registrierter Sender.
    `pic` - Das im Startbild anzuzeigende Bild.

### readImage

    public void readImage(IProgressSender sender,
                          String iconName)

  Liest das Icon ein, das mit dem Iconnamen spezifiziert wurde. Der Iconname muß den kompletten Pfad des Bildes enthalten ausgehend vom Beginn des Packagepfades. Dieses Bild wird dann zentriert im Paneldargestellt. Nur vorher registrierte Sender können hier was ändern. Wenn der uebergebene Sender nicht durch die Methode `addProgressSender(IProgressSender)` registriert wurde passiert nichts. Nach dem einlesen des Bildes wird die Methode `setPicture(IProgressSender, ImageIcon)`.

  Parameters:
    `sender` - Ein registrierter Sender.
    `iconName` - Der Dateipfad mit Namen zu dem anzuzeigenden Bild.

### setStatusText

    public void setStatusText(IProgressSender sender,
                              String s)

  Setzt einen Anzeigetext fuer das Startbild. Dieser wird unterhalb der Fortschrittsanzeige angezeigt. Wenn der uebergebene Sender nicht durch die Methode `addProgressSender(IProgressSender)` registriert wurde passiert nichts.

  Parameters:
    `sender` - Ein registrierter Sender.
    `s` - Der anzuzeigende Text.

### setProgressProcent

    public void setProgressProcent(IProgressSender sender,
                                   int procent)

  Setzt die Fortschrittsanzeige. Auf Grund des hier angegebenen Wertes wird die Fortschrittsanzeige aktualisiert. Der uebergebene Wert wird dabei zusaetzlich in der Fortschrittsanzeige angezeigt. Wenn der uebergebene Sender nicht durch die Methode `addProgressSender(IProgressSender)` registriert wurde passiert nichts.

  Parameters:
    `procent` - Prozentualer Fortschritt als Zahl.

### setProgressProcent

    public void setProgressProcent(IProgressSender sender,
                                   String procent)

  Setzt die Fortschrittsanzeige. Auf Grund des hier angegebenen Wertes wird die Fortschrittsanzeige aktualisiert. Der uebergebene Wert wird dabei zusaetzlich in der Fortschrittsanzeige angezeigt. Wenn der uebergebene Sender nicht durch die Methode `addProgressSender(IProgressSender)` registriert wurde passiert nichts. Wenn sich der uebergebene Text nicht in eine Zahl umwandeln laesst wird eine `NumberFormatException` ausgeloest.

  Parameters:
    `procent` - Prozentualer Fortschritt als Text.

### zentrieren

    protected void zentrieren()

  Zentriert den Splash-Screen auf der Mitte des Bildschirm.

### actionPerformed

    public void actionPerformed(ActionEvent ae)

  Diese Methode wird vom Timer aufgerufen. Hier wird nochmals geprüft, ob nicht zwischenzeitlich wieder Sender hinzugefügt wurden. Falls nicht, wird das Startbild unsichtbar gemacht.

  Specified by:
    `actionPerformed` in interface `ActionListener`
  Parameters:
    `ae` - Das ActionEvent-Objekt fuer das Event.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD