Package de.willuhn.jameica.gui.dialogs
Class PasswordDialog
- java.lang.Object
-
- de.willuhn.jameica.gui.dialogs.AbstractDialog
-
- de.willuhn.jameica.gui.dialogs.PasswordDialog
-
public class PasswordDialog extends AbstractDialog
Dialog zu Passwort-Eingabe.Hinweis: Diese Klasse hat einen internen Zaehler, der die Anzahl der fehlgeschlagenen Aufrufe von
checkPassword(String)
zaehlt und nachMAX_RETRIES
Versuchen den Dialog schließt.
-
-
Field Summary
Fields Modifier and Type Field Description static int
MAX_RETRIES
Maximale Anzahl von Fehlversuchen.-
Fields inherited from class de.willuhn.jameica.gui.dialogs.AbstractDialog
i18n, MONITOR_CURRENT, MONITOR_PRIMARY, POSITION_CENTER, POSITION_MOUSE
-
-
Constructor Summary
Constructors Constructor Description PasswordDialog(int position)
Erzeugt einen neuen Passwort-Dialog.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
checkPassword(java.lang.String password)
Prueft die Eingabe des Passwortes.protected boolean
checkUsername(java.lang.String username)
Prueft die Eingabe des Usernamens, insofern das Eingabefeld vorhanden ist.protected void
extend(Container container)
Kann von abgeleiteten Dialogen ueberschrieben werden, um den Password-Dialog noch zu erweitern.protected java.lang.Object
getData()
Diese Funktion wird beim Schliessen des Dialogs in open() aufgerufen und liefert die ausgewaehlten Daten zurueck.protected int
getRemainingRetries()
Liefert die Anzahl der moeglichen Rest-Versuche zur Eingabe bevor der Dialog abgebrochen wird.java.lang.String
getUsername()
Liefert den eingegebenen Benutzernamen.protected void
onEscape()
Kann ueberschrieben werden, um zu beeinflussen, was passieren soll, wenn der User versucht, den Dialog mit Escape zu beenden.protected void
paint(org.eclipse.swt.widgets.Composite parent)
Muss vom abgeleiteten Dialog ueberschrieben werden.protected void
passwordModified(java.lang.String password)
Kann von abgeleiteten Dialogen ueberschrieben werden, um den Password-Dialog noch zu erweitern.protected void
setErrorText(java.lang.String text)
Zeigt den uebergebenen Text rot markiert an.void
setLabelText(java.lang.String text)
Speichert den Text, der links neben dem Eingabefeld fuer die Passwort-Eingabe angezeigt werden soll (Optional).void
setPassword(java.lang.String password)
Speichert das anzuzeigende Vorgabe-Passwort.void
setShowPassword(boolean show)
Legt fest, ob das Passwort waehrend der Eingabe angezeigt werden soll.void
setText(java.lang.String text)
Speichert den anzuzeigenden Text.void
setUsername(java.lang.String username)
Speichert den anzuzeigenden Vorgabe-Benutzernamen.void
setUsernameText(java.lang.String text)
Speichert ein optionales Label fuer die zusaetzliche Eingabe eines Usernamens.-
Methods inherited from class de.willuhn.jameica.gui.dialogs.AbstractDialog
addCloseListener, addShellListener, close, createShell, getDisplay, getShell, isModeless, open, setMonitor, setPanelText, setSideImage, setSize, setTitle
-
-
-
-
Field Detail
-
MAX_RETRIES
public static final int MAX_RETRIES
Maximale Anzahl von Fehlversuchen.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
PasswordDialog
public PasswordDialog(int position)
Erzeugt einen neuen Passwort-Dialog.- Parameters:
position
- Position des Dialogs.- See Also:
AbstractDialog.POSITION_MOUSE
,AbstractDialog.POSITION_CENTER
-
-
Method Detail
-
onEscape
protected void onEscape()
Description copied from class:AbstractDialog
Kann ueberschrieben werden, um zu beeinflussen, was passieren soll, wenn der User versucht, den Dialog mit Escape zu beenden. Per Default wirft die Funktion eine OperationCancelledException, um den Dialog zu schliessen. Die Exception wird bis zum Aufrufer durchgereicht. Wenn er also um das open() ein try/catch macht und die OperationCancelledException faengt, kann er erkennen, ob der Dialog abgebrochen wurde. Um zum Beispiel zu verhinden, dass ein Dialog mit Escape abgebrochen werden kann, ueberschreibt man die Funktion einfach laesst sie leer. Will man hingegen zulassen, dass mit Escape abgebrochen wird, man dieses Event jedoch mitkriegen will, dann ueberschreibt man die Funktion, fuehrt dort die gewuenschten Aufgaben aus und macht anschliessend ein super.onEscape() um die OperationCancelledException auszuloesen. Alternativ kann man sie auch selbst werfen.- Overrides:
onEscape
in classAbstractDialog
-
setText
public void setText(java.lang.String text)
Speichert den anzuzeigenden Text.- Parameters:
text
- anzuzeigender Text.
-
setUsernameText
public void setUsernameText(java.lang.String text)
Speichert ein optionales Label fuer die zusaetzliche Eingabe eines Usernamens. Wird hier ein Wert uebergeben, zeigt der Dialog neben den beiden Passwort-Feldern extra noch ein Feld fuer den Usernamen an. Der da eingegebene Wert kann nach dem Aufruf vonopen()
mitgetUsername()
ermittelt werden.Wenn das Eingabefeld fuer den Usernamen angezeigt wird, ist es auch Pflicht. Es gibt also entweder gar keinen Usernamen oder ein verpflichtetenden. Jedoch keinen optionalen Usernamen.
- Parameters:
text
- das anzuzeigende Label vor dem Eingabefeld, insofern es angezeigt werden soll.
-
setLabelText
public void setLabelText(java.lang.String text)
Speichert den Text, der links neben dem Eingabefeld fuer die Passwort-Eingabe angezeigt werden soll (Optional).- Parameters:
text
- anzuzeigender Text.
-
setErrorText
protected final void setErrorText(java.lang.String text)
Zeigt den uebergebenen Text rot markiert an. Diese Funktion sollte auscheckPassword(String)
heraus aufgerufen werden, um dem benutzer zu zeigen, warum seine Passwort-Eingabe falsch war.- Parameters:
text
- Der anzuzeigende Fehlertext.
-
setShowPassword
public void setShowPassword(boolean show)
Legt fest, ob das Passwort waehrend der Eingabe angezeigt werden soll.- Parameters:
show
-
-
paint
protected void paint(org.eclipse.swt.widgets.Composite parent) throws java.lang.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 classAbstractDialog
- Parameters:
parent
- das Composite, in dem der Dialog gemalt werden soll. Hinweis: Das Composite enthaelt bereits ein einspaltigesGridLayout
.- Throws:
java.lang.Exception
- Kann von der abgeleiteten Klasse geworfen werden. Tut sie das, wird der Dialog nicht angezeigt.
-
checkUsername
protected boolean checkUsername(java.lang.String username)
Prueft die Eingabe des Usernamens, insofern das Eingabefeld vorhanden ist.- Parameters:
username
- der eingegebene Username.- Returns:
- true, wenn die Eingabe OK ist, andernfalls false.
-
checkPassword
protected boolean checkPassword(java.lang.String password)
Prueft die Eingabe des Passwortes.Hinweis: Der Dialog wird erst geschlossen, wenn diese Funktion
true
zurueckliefert.Die Default-Implementierung liefert immer
true
.- Parameters:
password
- das gerade eingegebene Passwort.- Returns:
- true, wenn die Eingabe OK ist, andernfalls false.
-
extend
protected void extend(Container container) throws java.lang.Exception
Kann von abgeleiteten Dialogen ueberschrieben werden, um den Password-Dialog noch zu erweitern. Sie erhalten ein Composite mit einem einspaltigen Grid-Layout. Angezeigt wird die Erweiterung dann direkt ueber den beiden Buttons.- Parameters:
container
- der Container.- Throws:
java.lang.Exception
-
passwordModified
protected void passwordModified(java.lang.String password)
Kann von abgeleiteten Dialogen ueberschrieben werden, um den Password-Dialog noch zu erweitern. Wird jedes mal aufgerufen, wenn die Eingabe im Passwort-Feld sich aendert. Kann z. B. benutzt werden, um das Passwort noch vor dem Klick auf OK zu pruefen.- Parameters:
password
-
-
getRemainingRetries
protected int getRemainingRetries()
Liefert die Anzahl der moeglichen Rest-Versuche zur Eingabe bevor der Dialog abgebrochen wird.- Returns:
- Anzahl der Restversuche.
-
getData
protected java.lang.Object getData() throws java.lang.Exception
Description copied from class:AbstractDialog
Diese Funktion wird beim Schliessen des Dialogs in open() aufgerufen und liefert die ausgewaehlten Daten zurueck. Die ableitende Klasse sollte hier also die Informationen rein tuen, die sie dem Aufrufer gern geben moechte.- Specified by:
getData
in classAbstractDialog
- Returns:
- das ausgewaehlte Objekt.
- Throws:
java.lang.Exception
-
getUsername
public java.lang.String getUsername()
Liefert den eingegebenen Benutzernamen.- Returns:
- der eingegebene Benutzername.
-
setUsername
public void setUsername(java.lang.String username)
Speichert den anzuzeigenden Vorgabe-Benutzernamen.- Parameters:
username
- der Benutzername.
-
setPassword
public void setPassword(java.lang.String password)
Speichert das anzuzeigende Vorgabe-Passwort.- Parameters:
password
- das Passwort.
-
-