Class WaitDialog

java.lang.Object
de.willuhn.jameica.gui.dialogs.AbstractDialog
de.willuhn.jameica.gui.dialogs.WaitDialog

public abstract class WaitDialog extends AbstractDialog
Warte-Dialog, der einen Text und einen Fortschrittsbalken fuer ein Timeout anzeigt.

Zwei Anwendungsbeispiele:

  • Der User soll einen USB-Stick mit einer Schluesseldatei einstecken. Waehrenddessen wird dieser Dialog anagezeigt.
  • Der User soll eine PIN im Kartenleser eingeben.

Die Klasse ist abstrakt, damit in der abgeleiteten Klasse die Funktion check() implementiert wird. Der Rueckgabe-Wert der Funktion entscheidet darueber, ob der Dialog geschlossen werden soll oder weiter gewartet wird. Diese Funktion wird nach Ablauf jeder Sekunde erneut aufgerufen. Solange, bis sie true zurueckliefert, oder das Timeout abgelaufen ist.

  • Constructor Details

    • WaitDialog

      public WaitDialog(int pos)
      Erzeugt einen Wartedialog mit einem Standard-Timeout von 60 Sekunden.
      Parameters:
      pos - die Position des Dialogs.
    • WaitDialog

      public WaitDialog(long timeout, int pos)
      ct.
      Parameters:
      timeout - Timeout in Millisekunden, nach deren Ablauf der Dialog mit einer OperationCancelledException abbrechen soll. Muss mindestens 5000 (5 Sekunden) sein.
      pos - die Position des Dialogs.
  • Method Details

    • getData

      protected Object getData() throws Exception
      Die Funktion liefert immer null.
      Specified by:
      getData in class AbstractDialog
      Returns:
      das ausgewaehlte Objekt.
      Throws:
      Exception
    • getText

      public String getText()
      Liefert den anzuzeigenden Text. Sollte von der abgeleiteten Klasse ueberschrieben werden.
      Returns:
      text der anzuzeigende Text.
    • check

      protected abstract boolean check()
      Wird nach Ablauf jeder Sekunde aufgerufen. Hier kann die abgeleitete Klasse entscheiden, ob die gewuenschte Aktion vom User durchgefuehrt wurde und der Dialog geschlossen werden kann oder ob noch laenger gewartet wird.
      Returns:
      true, wenn die Aktion durchgefuehrt wurde und der Dialog geschlossen werden kann.
    • paint

      protected void paint(org.eclipse.swt.widgets.Composite parent) throws Exception
      Description copied from class: AbstractDialog
      Muss vom abgeleiteten Dialog ueberschrieben werden. In dieser Funktion soll er sich bitte malen. Sie wird anschliessend von open() ausgefuehrt.
      Specified by:
      paint in class AbstractDialog
      Parameters:
      parent - das Composite, in dem der Dialog gemalt werden soll. Hinweis: Das Composite enthaelt bereits ein einspaltiges GridLayout.
      Throws:
      Exception - Kann von der abgeleiteten Klasse geworfen werden. Tut sie das, wird der Dialog nicht angezeigt.