Hallo,
auch wenn ich es selbst kaum glauben kann, habe ich zu dem Thema bisher keine zufriedenstellende Antwort bei google gefunden, oder ich kapiere es einfach nicht.
Also, ich bin ziemlich neu in Java - habe etwa vor zwei Wochen damit angefangen, kann allerdings C++ und habe dort mit Qt gearbeitet. Jetzt muss ich auf Grund meiner Arbeit eine GUI in Java schreiben und habe mich (bisher) für SWT entschieden.
Bei Qt gibt es ein sehr geniales und intuitives Signal - Slot prinzip. Ich kann also z.B. das Signal "variableChanged(int value)" erstellen und per "emit variableChanged(value)" abschicken, wenn eine Variable geändert wird. Gibt es soetwas in SWT? Bzw wie realisiert man es? Das einzige was ich bisher gefunden habe sind Events die teilweise von anderen Events abgeleitet sind, aber (fast) immer eine Interaktion mit dem User benötigen, z.B. mouseClicked.
Ich würde also gerne ein Event schreiben, bei dem ich Wurf und Empfang 100%ig selbst bestimmen kann (welche Variablen werden gesendet, was muss passieren damit es geworfen wird etc).
Eine konkretes Problem wäre z.B.:
Ich habe zwei Klassen, ein Menu Klasse und ein Text Widget (Klasse). Die Klassen kennen einander nicht. Jetzt wird im Menu eine txt-Datei geöffnet und dann soll der Inhalt irgendwie zu dem Text Widget gelangen.
Vielleicht ist dieses Prinzip ja auch nicht möglich, aber bisher verstehe ich nicht wirklich, wie man ohne so etwas eine GUI schreiben kann ^^ Das liegt aber vielleicht an der Prägung durch Qt.
ach ja und noch zwei kleine Syntax Fragen:
auf der Seite:Writing Your Own Widget
unter der Überschrift: Positioning Children With a Layout Manager
gibt es die Zeilen:
PictureLabel.this.widgetDisposed(e);
und layout(true);
was bedeutet bzw wie funktioniert das syntax-technisch?
layout ist ja eine Funktion in einer anderen Klasse und wird einfach so aufgerufen? Und dann auch noch mit weniger Argumenten als erwartet.
Und die Syntax von PictureLabel.this.widgetDisposed(e) kapiere ich garnicht (also PictureLabel.this). Was ist der Unterschied zu this? Hat das etwas mit statischen Funktionen zu tun?
Vielen Dank!
auch wenn ich es selbst kaum glauben kann, habe ich zu dem Thema bisher keine zufriedenstellende Antwort bei google gefunden, oder ich kapiere es einfach nicht.
Also, ich bin ziemlich neu in Java - habe etwa vor zwei Wochen damit angefangen, kann allerdings C++ und habe dort mit Qt gearbeitet. Jetzt muss ich auf Grund meiner Arbeit eine GUI in Java schreiben und habe mich (bisher) für SWT entschieden.
Bei Qt gibt es ein sehr geniales und intuitives Signal - Slot prinzip. Ich kann also z.B. das Signal "variableChanged(int value)" erstellen und per "emit variableChanged(value)" abschicken, wenn eine Variable geändert wird. Gibt es soetwas in SWT? Bzw wie realisiert man es? Das einzige was ich bisher gefunden habe sind Events die teilweise von anderen Events abgeleitet sind, aber (fast) immer eine Interaktion mit dem User benötigen, z.B. mouseClicked.
Ich würde also gerne ein Event schreiben, bei dem ich Wurf und Empfang 100%ig selbst bestimmen kann (welche Variablen werden gesendet, was muss passieren damit es geworfen wird etc).
Eine konkretes Problem wäre z.B.:
Ich habe zwei Klassen, ein Menu Klasse und ein Text Widget (Klasse). Die Klassen kennen einander nicht. Jetzt wird im Menu eine txt-Datei geöffnet und dann soll der Inhalt irgendwie zu dem Text Widget gelangen.
Vielleicht ist dieses Prinzip ja auch nicht möglich, aber bisher verstehe ich nicht wirklich, wie man ohne so etwas eine GUI schreiben kann ^^ Das liegt aber vielleicht an der Prägung durch Qt.
ach ja und noch zwei kleine Syntax Fragen:
auf der Seite:Writing Your Own Widget
unter der Überschrift: Positioning Children With a Layout Manager
gibt es die Zeilen:
PictureLabel.this.widgetDisposed(e);
und layout(true);
was bedeutet bzw wie funktioniert das syntax-technisch?
layout ist ja eine Funktion in einer anderen Klasse und wird einfach so aufgerufen? Und dann auch noch mit weniger Argumenten als erwartet.
Und die Syntax von PictureLabel.this.widgetDisposed(e) kapiere ich garnicht (also PictureLabel.this). Was ist der Unterschied zu this? Hat das etwas mit statischen Funktionen zu tun?
Vielen Dank!
Zuletzt bearbeitet: