schuetzejanett
Erfahrenes Mitglied
Hallo,
wie kann ich in SWT JFace einen Wizard zurücksetzen.
Ich verwende den wizard als logindialog und er hat auch nur eine seite, die auf der ich die Daten eingebe. Wenn ich jetzt ok drücke und der login vorgang schief geht. Möchte ich das eine fehlermeldung aufgeht und man danach seine daten nocheinmal eingeben kann. das mit fehlermeldung bekomme ich auch hin. aber den rest nicht.
Das testen der logindaten funkitioniert in einer klasse. Nun weiß ich aber nicht wie ich das fehlschlagen des logins abfangen soll um dann den dialog zurückzusetzen, das ich meine daten noch mal eingeben kann.
Hat jemand von euch ne idee wie man das macht. Oder was ich sonst machen könnte um das problem eines wiederholten loginversuches zu lösen.
So und noch ne andere frage wie ändert man den rückgabewert eines wizards, also das er beim schließen sagt, nicht ok und sich mein programm dann nicht öffnet?
Brauche das weil wenn der login ok war, werden noch einige dinge geladen bricht der user während der zeit den dialog ab, schließt sich der dialog mit Rückgabewert OK und das programm öffnet sich es soll sich aber beenden.
hier meine aktuelle Methode zum beenden. welche aber nur im fehlerfreien fall sinnvoll arbeitet.
wie kann ich in SWT JFace einen Wizard zurücksetzen.
Ich verwende den wizard als logindialog und er hat auch nur eine seite, die auf der ich die Daten eingebe. Wenn ich jetzt ok drücke und der login vorgang schief geht. Möchte ich das eine fehlermeldung aufgeht und man danach seine daten nocheinmal eingeben kann. das mit fehlermeldung bekomme ich auch hin. aber den rest nicht.
Das testen der logindaten funkitioniert in einer klasse. Nun weiß ich aber nicht wie ich das fehlschlagen des logins abfangen soll um dann den dialog zurückzusetzen, das ich meine daten noch mal eingeben kann.
Hat jemand von euch ne idee wie man das macht. Oder was ich sonst machen könnte um das problem eines wiederholten loginversuches zu lösen.
So und noch ne andere frage wie ändert man den rückgabewert eines wizards, also das er beim schließen sagt, nicht ok und sich mein programm dann nicht öffnet?
Brauche das weil wenn der login ok war, werden noch einige dinge geladen bricht der user während der zeit den dialog ab, schließt sich der dialog mit Rückgabewert OK und das programm öffnet sich es soll sich aber beenden.
hier meine aktuelle Methode zum beenden. welche aber nur im fehlerfreien fall sinnvoll arbeitet.
Code:
public boolean performFinish()
{
try {
// puts the data into a database ...
getContainer().run(true, true, new IRunnableWithProgress() {
public void run(IProgressMonitor monitor)
throws InvocationTargetException, InterruptedException {
monitor.beginTask("", IProgressMonitor.UNKNOWN);
try
{
monitor.subTask("Login Daten werden überprüft");
login.setData(userName, password);
login.run();
Thread.sleep(200);
if (monitor.isCanceled()) {
throw new InterruptedException();
}
monitor.subTask("Preferences werden geladen");
Preferences pref = Preferences.getInstance();
Thread.sleep(400);
monitor.subTask("daten werden geladen");
Thread.sleep(400);
} finally
{
monitor.done();
}
}
});
} catch (InvocationTargetException e) {
System.out.println(e.getMessage());
return false;
} catch (InterruptedException e) {
e.printStackTrace();
}catch (NullPointerException e){
System.out.println("kein user");
return false;
}
return true;
}