Hallo zusammen,
ich bin im Java-Umfeld noch nicht so bewandert, aber als Anwendungsentwickler kenne ich schon die ein oder andere Programmiersprache.
Ich bin gerade dabei mich ein zu gewöhnen und entwickle eine Client-Anwendung für ein Websystem mit JSON-RPC-Schnittstelle.
Dazu setze ich zum "ausprobieren" einfach mal auf Java mit XWT (ich weiß also nicht ob das SWT entspricht, vielleicht ist das Thema hier falsch) und komme damit auch fast klar.
Eine Sache allerdings verstehe ich nicht, Google konnte mir auch nicht weiterhelfen, außer dass XWT wohl nicht ganz so verbreitet ist, ich frage daher euch. Vorab: Hier die Klasse des Login-Formulars:
Ja ich weiß: Bei jedem Tastendruck den Wert neu zu speichern ist sicherlich nicht die beste Lösung, darum soll es jetzt aber auch erst mal nicht gehen.
Viel eher darum:
Die Ausgabe in Zeile 19 ist lediglich für einen Brake-Point. Denn: Solange das Form aktiv ist, sind "Name" und "Password" gefüllt, Wenn "onLoginKeyUp" oder "onLoginMouseUp" ausgelöst werden und das Display Disposed wird, komme ich also bei dem System-Out an und dann sind "Name" und "Password" leer.
Das ist natürlich ziemlich schlecht an der Stelle, denn eigentlich soll die Steuerklasse, die das Loginformular startet, die Daten dann über die zwei dafür angelegten Getter herausziehen und weiterverwenden.
Meine Frage:
Was mache ich falsch, was habe ich nicht bedacht?
Ich bin gespannt auf eure Rückmeldung und hoffe ich habe mein Anliegen verständlich verbreitet.
Ich setze auf:
Eclipse SDK 4.2.1.M20120914-1800
SWT Designer Documentation 1.5.1.r38x201209200908
SWT Designer SWT_AWT Support 1.5.1.r42x201209161301
SWT Designer XWT Support (requires Eclipse WTP/WST) 1.5.1.r42x201209161246
ich bin im Java-Umfeld noch nicht so bewandert, aber als Anwendungsentwickler kenne ich schon die ein oder andere Programmiersprache.
Ich bin gerade dabei mich ein zu gewöhnen und entwickle eine Client-Anwendung für ein Websystem mit JSON-RPC-Schnittstelle.
Dazu setze ich zum "ausprobieren" einfach mal auf Java mit XWT (ich weiß also nicht ob das SWT entspricht, vielleicht ist das Thema hier falsch) und komme damit auch fast klar.
Eine Sache allerdings verstehe ich nicht, Google konnte mir auch nicht weiterhelfen, außer dass XWT wohl nicht ganz so verbreitet ist, ich frage daher euch. Vorab: Hier die Klasse des Login-Formulars:
Java:
public class FrmLogin {
private String Password = "";
private String Name = "";
private Shell shell;
public void Show() throws Exception {
URL url = FrmLogin.class.getResource(FrmLogin.class.getSimpleName()
+ IConstants.XWT_EXTENSION_SUFFIX);
this.shell = (Shell)XWT.load(url);
this.shell.pack();
this.shell.open();
while (!this.shell.isDisposed()) {
if (!this.shell.getDisplay().readAndDispatch()) {
this.shell.getDisplay().sleep();
}
}
System.out.println("close");
}
private void enableLoginButton(Widget widget){
//Controls heraussuchen
Button Login = (Button)XWT.findElementByName(widget, "Login");
//Button nur aktivieren, wenn beide Felder befüllt sind
Login.setEnabled(this.Name.length() != 0 && this.Password.length() != 0);
}
public void onNameKeyUp(Event event) {
Text name = (Text)event.widget;
this.Name = name.getText();
this.enableLoginButton(event.widget);
}
public void onPasswortKeyUp(Event event) {
Text password = (Text)event.widget;
this.Password = password.getText();
this.enableLoginButton(event.widget);
}
public String getName(){
return this.Name;
}
public String getPassword(){
return this.Password;
}
public void onLoginKeyUp(Event event) {
event.display.dispose();
}
public void onLoginMouseUp(Event event) {
event.display.dispose();
}
}
Ja ich weiß: Bei jedem Tastendruck den Wert neu zu speichern ist sicherlich nicht die beste Lösung, darum soll es jetzt aber auch erst mal nicht gehen.
Viel eher darum:
Die Ausgabe in Zeile 19 ist lediglich für einen Brake-Point. Denn: Solange das Form aktiv ist, sind "Name" und "Password" gefüllt, Wenn "onLoginKeyUp" oder "onLoginMouseUp" ausgelöst werden und das Display Disposed wird, komme ich also bei dem System-Out an und dann sind "Name" und "Password" leer.
Das ist natürlich ziemlich schlecht an der Stelle, denn eigentlich soll die Steuerklasse, die das Loginformular startet, die Daten dann über die zwei dafür angelegten Getter herausziehen und weiterverwenden.
Meine Frage:
Was mache ich falsch, was habe ich nicht bedacht?
Ich bin gespannt auf eure Rückmeldung und hoffe ich habe mein Anliegen verständlich verbreitet.
Ich setze auf:
Eclipse SDK 4.2.1.M20120914-1800
SWT Designer Documentation 1.5.1.r38x201209200908
SWT Designer SWT_AWT Support 1.5.1.r42x201209161301
SWT Designer XWT Support (requires Eclipse WTP/WST) 1.5.1.r42x201209161246