SWT Eigene Events erstellen und werfen

Ronschk

Mitglied
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!
 
Zuletzt bearbeitet:
S

Spacerat

Gast
Nun, ich kenne zwar SWT nicht aber diese Event-Listener-Geschichte von Swing. Listener werden in Java gerne mal anonym implementiert, das bedeutet, die Klasse nebst Instanzen sind nur in der erzeugenden Instanz bekannt und das nicht mal mit Namen. Innerhalb dieser anonymen Instanz zeigt this logischerweise auf eben jene. Will man nun Methoden oder Member der Erzeugerklasse nutzen, so muss this mit dem Klassennamen spezifiziert werden.
So ein anonymer Listener ist dann halt nur innerhalb der Klasse sichtbar, die halt entsprechende Events empfangen soll. Würde die äussere Klasse stattdessen die Listener-Schnittstelle selbst implementieren, müsste sie die dafür notwendigen Methoden öffentlich machen.
Evtl. ist ja SWT gar nicht das richtige für dich, denn ich hab' mal gehört, dass es recht schwerfällig ist. Evtl. sagt dir Swing ja mehr zu.
 
G

Gast2

Gast
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.

Ein paar kleine Anregungen, wenn du SWT verwendest schau dir mal Eclipse RCP + JFace an, spart dir viel arbeit


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.

Schau dir mal MVC oder MVP oder EventBus an.
Ich denke EventBus ist genau das was du suchst.
Wo wir wieder bei Eclipse RCP sind, das neue e4 bringt das Prinzip schon mit und vieles mehr.
Aber ist auch eine steile Lernkurve wenn du neu bist
 

Ronschk

Mitglied
pew.. Oh man ist das alles viel, bin nen bisschen am verzweifeln damit. Ich habe nicht das Gefühl, dass es an der recht geringen Java Kenntnis liegt, sondern das alles ne zillionen mal komplizierter ist als Qt. Ich hätte echt mal darauf bestehen sollen damit zu arbeiten...

Also JFace habe ich versucht mir anzueignen, schaffe aber nicht mal etwas zu kompilieren.

Mein Code:
Java:
package bla;


import org.eclipse.swt.widgets.Display;
import org.eclipse.jface.window.*;

public class ownWidget {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		ApplicationWindow w = new ApplicationWindow(null);
	    w.setBlockOnOpen(true);
	    w.open();
	    Display.getCurrent().dispose();

	}

}
wirft den Fehler "Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/core/runtime/IProgressMonitor"
Habe ich natürlich gegoogelt und in mein MANIFEST.MF file unter "Dependencies" org.eclipse.equinox.common geadded, aber der Fehler tritt weiter auf. Das liegt wohl daran, dass links in dem Baum unter "Plug-in Dependencies" das file nicht auftaucht... warum nicht? Bisher musste ich es immer so machen, dass ich zuerst das File über das MANIFEST.MF geaddet habe. Danach musste ich mir dann aus nem Tutorial nen import Befehl suchen, den Eclipse dann nicht erkannt hat, wo mir dann aber als Option angezeigt wurde, dass ich entsprechend etwas adden kann... hmm ich glaube zwar dass das keiner versteht, aber da ich mich echt kaum mit dem ganzen Kram auskenne kann ich mich nicht besser ausdrücken.

Gibt es irgendwo ein gutes eclipse Tut welches das alles mal erklärt?


Zu dem RCP frag ich lieber erstmal nicht, was es ist, habe momentan noch genug andere Probleme ^^
 
G

Gast2

Gast
Zu dem RCP frag ich lieber erstmal nicht, was es ist, habe momentan noch genug andere Probleme ^^

Doch FRAGE genau danach ;)...
Schau dir das mal an, mach das Tutorial durch 1-2 Tage wirklich Zeit nehmen und schauen ob du das es immer noch so schwierig findest...
1. Grundlagen RCP 3
Eclipse RCP Tutorial
2. Oder gleich das neuste Eclipse 4
Eclipse 4 RCP - Tutorial



Habe ich natürlich gegoogelt und in mein MANIFEST.MF file unter "Dependencies" org.eclipse.equinox.common geadded, aber der Fehler tritt weiter auf. Das liegt wohl daran, dass links in dem Baum unter "Plug-in Dependencies" das file nicht auftaucht... warum nicht? Bisher musste ich es immer so machen, dass ich zuerst das File über das MANIFEST.MF geaddet habe. Danach musste ich mir dann aus nem Tutorial nen import Befehl suchen, den Eclipse dann nicht erkannt hat, wo mir dann aber als Option angezeigt wurde, dass ich entsprechend etwas adden kann... hmm ich glaube zwar dass das keiner versteht, aber da ich mich echt kaum mit dem ganzen Kram auskenne kann ich mich nicht besser ausdrücken.
^^


Du willst OSGi(benutzt Eclipse RCP) bei einer normalen Java Anwendung verwenden.
Du musst deine Dependencies bei einer normalen Java Anwendung NICHT MANIFEST.MF eintragen sondern im CLASSPATH (kannste googeln ;) ). Du vermischt 2 verschiedene Technologien darum hast du so Probleme du willst den Eclipse RCP Mechanismus in einer nicht Eclipse RCP Anwendung verwenden.
 
Zuletzt bearbeitet von einem Moderator:

Ronschk

Mitglied
Okay, das hört sich doch schonmal ganz gut an :) gegen Zeit investieren habe ich garnichts, pauke auch sehr gerne Tuts durch, aber es ist immer sehr deprimierend wenn man alle 2 min für 20min bei google hängt und irgendwelche Fehler finden muss (bzw die Gründe und Lösungen dafür).

Ähmm gerade habe ich keine Zeit mich damit zu beschäftigen, also: gibt es dann das irgendwelche Lizenzen die man beachten muss? Also falls die Software später mal verkauft werden sollte oder so.
Und schonmal danke für die Hilfe! :applaus:
 

Ronschk

Mitglied
puh. Ich habe jetzt nen drittel von dem Eclipse 4 Tutorial durch und... ich finds echt grausam. Ich verstehe vorallem immernoch nicht wofür das alles gut sein soll. Mir fehlt so ein bisschen das "wir haben hier das Problem beim GUI Programmieren und RCP hilft uns dadurch zu ner Lösung". Man muss sich erstmal zig Seiten Theorie durchlesen ohne, dass irgendein Beispiel kommt.
Es kann doch nicht sein, dass ich bei C++ mit nem stink normalen Text Editor arbeiten kann und um die Qt Bib zu benutzen nur eine Zeile in das Commandfenster schreiben muss um ein schönes Ergebnis innerhalb von ner Stunde zu bekommen und hier muss man sich erstmal ne halbe Ewigkeit mit der Software auseinandersetzen? Also es wird schon irgendeinen Sinn haben, ansonsten gäbe es das ja nicht, aber irgendwie erkenne ich ihn gerade nicht:rtfm:
 
G

Gast2

Gast
puh. Ich habe jetzt nen drittel von dem Eclipse 4 Tutorial durch und... ich finds echt grausam.

Nach Schritt 4 hast doch schon dein 1. Fenster ohne auch nur eine Zeile programmiert zu haben

Nur weil du es anders gewöhnt bist, musst du eben Zeit investieren. learning by doing.
Wenn du ein Framework verwenden willst, musst du eben auch erstmal die Theorie (ansatzweise) durch lesen.

"wir haben hier das Problem beim GUI Programmieren und RCP hilft uns dadurch zu ner Lösung".

Was willst jetzt hören, was google dir nicht sagt? Du liest ein Tutorial durch, wenn alles von einem RCP drin steht, müsstest ja noch mehr lesen. Dafür sind dann Bücher da.
Beispiel:
Enterprise Eclipse RCP

"Man muss sich erstmal zig Seiten Theorie durchlesen ohne, dass irgendein Beispiel kommt.
Es kann doch nicht sein, dass ich bei C++ mit nem stink normalen Text Editor arbeiten kann und um die Qt Bib zu benutzen nur eine Zeile in das Commandfenster schreiben muss um ein schönes Ergebnis innerhalb von ner Stunde zu bekommen und hier muss man sich erstmal ne halbe Ewigkeit mit der Software auseinandersetzen? ".
Dann benutz doch weiterhin QT, wenn da alles so toll ist, warum dann Java? ;)

Wenn dir das zuviel ist, fang kleiner an. Mit Swing hol dir einen für Eclipse Windows Builder und klick alles zusammen.
Hier das Swing Tutorial
Lesson: Using Swing Components (The Java™ Tutorials > Creating a GUI With JFC/Swing)

WindowBuilder:
WindowBuilder

Also es wird schon irgendeinen Sinn haben, ansonsten gäbe es das ja nicht, aber irgendwie erkenne ich ihn gerade nicht:rtfm:

Wenn du keine Ahnung von Java und GUI hast, denkst du weißt dann nach einer Woche was es alles für Probleme gibt? Das macht eben auch die Erfahrung aus, aber ich finde du bist ein bischen ungeduldig ;)

Auf jeden Fall viel Glück ;)
 
S

Spacerat

Gast
Nee die Aussage ging nicht unter, sie stimmt einfach nicht ;).
In Anbetracht der Tatsache, dass dem ein oder anderen inkl. mir Swing mehr zusagt und dem Problem des TO nach zu urteilen, ist da wohl doch etwas dran. SWT dürfte damit so'n "Wenn man's einmal kapiert hat"-Ding sein. Aber was geht mit SWT besser als mit Swing oder anders gefragt, wozu braucht man SWT? Nicht das ich das nicht wüsste, SWT wäre für Swing-Entwickler doch nur zusätzlicher Ballast, den er sich aneignen müsste.
 
G

Gast2

Gast
Aber was geht mit SWT besser als mit Swing oder anders gefragt, wozu braucht man SWT?

Willst nicht schon wieder so eine Diskussion anfangen. Es gibt einige gute Dinge in SWT und einige Swing.
Aber SWT/JFace mit dem Viewer Konzept ist Swing überlegen. Wenn man man seine UI selber gestalten will ist Swing geeigneter. Aber wie gesagt das ist so ziemlich einer der wenigen Gründe für Swing (ich hab lang mit Swing gearbeitet). Davor lieber JavaFX.

Außerdem wie gesagt würde ich SWT NIE ALLEIN verwenden für mich gehört zu SWT immer JFace dazu.
 
S

Spacerat

Gast
Willst nicht schon wieder so eine Diskussion anfangen.
Nö, eigentlich nicht. Ich war zumindest nicht der, der meine Aussage als "schlicht falsch" tituliert hat, was sie btw. nun mal nicht ist. Man kann mit einigem vieles hinbekommen aber das muss ja nicht, wenn man bereits mit weniger alles hinbekommt. Was nutzt einem eine vermeintlich überlegenere API, wenn der Entwickler damit nicht zurecht kommt?
Im übrigen... Was ist JFace? Jedes API mehr, welches einem die Arbeit eigentlich erleichtern soll, benötigt eine gewisse Einarbeitungszeit. Wenn man dann noch hört, dafür benötigst du noch dies oder zu empfehlen wäre dann noch jenes, steht man gleich vor einer Wand von Lektüre und man sträubt sich gleich dagegen.
 
Zuletzt bearbeitet von einem Moderator:
G

Gast2

Gast
Sie war schlicht falsch ganz einfach.
Ich kenne beides Swing und SWT/JFace und nur mir Halbwissen sollte man so eine Aussage nicht tätigen.
Du brauchst genauso so lange Swing zu erlernen wie SWT/JFace und wenn du JFace nicht kennst hat sich es eh umso mehr erledigt, weil du dann noch nie richtig SWT benutzt hast :lol:

Ich würde sogar du lernst JavaFX genauso schnell wie Swing oder SWT/JFace wenn du bei null anfängst!
 
S

Spacerat

Gast
Ist ja alles vollkommen korrekt was du sagst. Ich habe noch nie mit JFace und/oder SWT gearbeitet, weil es noch nicht notwendig war und das wird auch so bleiben. Es macht allgemeinhin immer sehr wenig Sinn, sich neues anzueignen wenn man es mit dem bereits erlernten hinbekommt. Wäre das selbe, jemadem, der JMF gewohnt ist, plötzlich JavaFX aufzuschwatzen (ok... vllt. andersherum oder wie auch immer, ist nur ein Beispiel ;)). Wozu also diese Zeitverschwendung. Und jetzt erklär mir mal genauer, was an der Aussage nicht stimmt. "SWT/JFace ist einfacher als Swing und bietet mehr Möglichkeiten" reicht da einem Anfänger (wie mir :lol:) einfach nicht, wenn man gleich von einer Dokumentation erschlagen wird und nicht mal Grundlagen kennt. Selbst damit nicht genug. In dieser Dokumentation wird man evtl. auch noch darauf hingewiesen, was man zusätzlich zu Standard-Java (Swing inkl.) noch alles installieren muss, damits "einfacher" wird. :lol: Ich mach's mir noch einfacher und lass SWT/JFace solange ich kann links liegen - dass tut man so mit unnötigem Ballast - und lob' mir mein gesundes "Halbwissen".
Also nochmal: SWT ist vermutlich nicht das Richtige für den TO.
(Und ob das jetzt falsch oder richtig ist, überlasse ich halt dem TO)
 
Zuletzt bearbeitet von einem Moderator:
G

Gast2

Gast
Jo dann lass ich dich mal mit deinem Halbwissen(eigentlich ist es ja sogar noch weniger :D ) leben (oder benutz die SuFu), du wirst in 10 Jahre auch noch Swing machen, weil du kannst es ja ;) und dann ist alles andere für dich schlecht... Kennst ja den Spruch mit dem Problem Nagel und Hammer.

Aber wie gesagt beide haben Ihre Stärken und Schwächen und hoffe immer noch auf JavaFX (auch wenn ich es noch nicht kenne, werde ich es obwohl ich SWT und Swing kann vielleicht auch noch erlernen)
 
S

Spacerat

Gast
Ja was soll ich dazu auch sagen, wenn dir nicht mal JFace was sagt, aber hauptsache mal was schlecht reden, darum ist es ja nicht mal Halbwissen...
Samma geht's noch? Ich hab' doch SWT gar nicht schlecht geredet, sondern nur gesagt, dass es für den TO nichts ist und ich es selber auch nur als Ballast empfinde. Du aber scheinst es jedem aufschwatzen zu wollen? Erinnert mich an die von dir zitierte Geschichte mit "Hammer und Nagel".
 
G

Gast2

Gast
Wenn ich ihm was aufschwatzen wollen würde dann wäre das JavaFX.

Ich hab ihm nur gesagt er soll ich den RCP anschauen, dann hat er das ganze Classpath und installieren Problem nicht. Was du früher oder später auch bei Swing bekommst wenn du swingx oder JGoodies mit rein nimmst.
 

Ronschk

Mitglied
puhh ey.. so langsam verzweifel ich hier richtig. Ich habe jetzt schon bestimmt 10 mal nen neues Projekt angefangen und ab irgendeiner Stelle tritt dann ein Fehler auf, den ich nicht nachvollziehen kann und der auch bei google zu keinem Ergebnis führt.

Gerade ist es z.B. Eclipse RCP Tutorial bei wenn ich bei 9.2 meine application starten will, wird dieser Fehlercode erzeugt:
Code:
!SESSION Wed Sep 12 11:22:02 CEST 2012 -----------------------------------------
!ENTRY org.eclipse.equinox.launcher 4 0 2012-09-12 11:22:02.460
!MESSAGE Exception launching the Eclipse Platform:
!STACK
java.lang.ClassNotFoundException: org.eclipse.core.runtime.adaptor.EclipseStarter
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:626)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1414)

Das einzige, was ich anders gemacht habe als im Tutorial ist, dass ich unter 9.1 keine Dependencies hinzugefügt habe, weil ich nicht weiß was.

Das Problem an der ganzen Sache ist glaube ich, dass nicht wirklich viel erklärt wird. Ich weiß eigentlich noch nicht mal was die Plug-ins sind. Klar, dass sind Komponenten, die man individuell hinzufügen kann um dadurch mehr Möglichkeiten zu haben, aber was ist das genau? Sind das Klassen Bibliotheken? Sind das Snipplets?
Und was genau soll eine Target Platfrom sein? Warum ist es in dem einen Tutorial egal, beim anderen muss ich mir ne Datei dazu runterladen die ca. 20 Minuten zum installieren braucht?
Was ist die Product Definition?
Gibt es da irgendein Buch für dumme, die das ganze mal erklärt? Ich will da gerne Arbeit rein investieren, aber wenn man ein Tutorial (bzw mehrere) versucht durchzuarbeiten und irgendwann passieren Errors von denen man keine Ahnung hat warum sie ausgelöst werden und man außerdem nur eine ungefähre Ahnung hat von dem was man tut, ist das echt ermüdend :/

Wie seid ihr denn daran gegangen? Fehlt mir einfach das grundlegende Java Verständnis? Ich habe bisher nur Willkommen auf Java-Tutorial.org durchgearbeitet und mir diverse Tuts zu SWT durchgelesen.
Ich bekomme einfach diesesn Sprung von einem Editor, in dem ich coden kann und höchstens irgendwelche Bibs importieren muss, zu einem Programm in dem man 100 verschiedene Dinge einstellen muss nicht hin. Wo mache ich diese Einstellungen denn, wenn ich ganz normal den Code schreibe? Wo schreibe ich da meine Product Definition hin?

sry für den wirren Text, aber ich habe noch nie so viel Zeit mit etwas verbracht und es so wenig verstanden und das lässt mich ein bisschen an meiner Intelligenz zweifeln :[


ach und zfsg: hat jemand nen Buch für dumme in dem die Herangehensweise, die Funktion und das "Wie" und "Warum" von RCP erklärt wird?
 

Ronschk

Mitglied
das war eines der anderen Tutorials die ich schon gemacht hab ^^ da ****t es mich dezent ab, dass diese .target Datei so ewig lang zum installieren braucht.
Anyway, ich fange jetzt erstmal mit Eclipse and Java for Total Beginners an und werde mich Stück für Stück in Eclipse einarbeiten. Ist bestimmt ganz nützlich wenn man damit umgehen kann...
 

bERt0r

Top Contributor
Wenn es dich so ab***** warum probierst dus dann nicht mal mit Swing? Da brauchst du nix runterladen und es gibt auch mehr (und wahrscheinlich auch bessere) Tutorials. Abhängig davon wie umfangreich deine GUI werden soll muss sich der Lernaufwand ja auch rentieren.
 

Ronschk

Mitglied
naja... an sich scheinen die beiden Bibs ja gleich gut zu sein, aber irgendwie habe ich schon oft gelesen, dass Swing etwas veraltet sein soll und zum anderen gefällt es mir eigentlich ganz gut, dass die Software OS spezifisch aussieht (dass es dafür auch ne Swing Lösung gibt hab ich jetzt auch erfahren^^).
Ich denke, dass das ausschlaggebende Argument wirklich ist, dass Swing alt ist und (soweit ich es im Kopf habe??) nicht mehr weiter entwickelt werden soll(?).

Ach ja zur GUI:
also eigentlich wird sie recht simpel wie es momentan aussieht ^^ Es wird eigentlich nur darum gehen text-Files und xml Files einzulesen und von diesen die Syntax zu checken. Dann soll der User die Möglichkeiten haben die Files zu editieren, danach werden die Daten zu Matlab geschickt, wo mit ihnen rumgerechnet wird und danach werden die Ergbnisse zurückgeschickt wo sie dann an Hand von Graphen/Diagrammen dargestellt werden.
Ich denke, dass man das vielleicht sogar mir SWT allein realisieren könnte (wenn auch umständlich), aber mir geht es eigentlich darum, dass ich einen guten Einblick in die GUI Programmierung in Java bekomme und das beste/angesagteste/tollste kann, was es da an Bibs gibt. Und.. naja im Zuge von Swing habe ich wie gesagt gehört, dass es nicht mehr weiter geht damit und dass es von JavaFx abgelöst werden wird und SWT scheint mir da doch... naja irgendwie neuer zu sein. Keine Ahnung woher ich den Eindruck habe ^^
 
Zuletzt bearbeitet:
S

Spacerat

Gast
Jep, Swing ist alt! Ist seit Java2 fester Bestandteil der Standard-JVM, davor war es als Java Extension (ungefähr das was SWT heute ist) erhältlich. Swing existiert also schon viel länger als SWT. Das Swing nicht mehr weiterentwickelt wird kann man nicht sagen, es schreitet halt wie jedes andere Window- oder Widget-Toolkit (btw.: wo's da eigentlich der Unterschied?) nur langsam voran, weil diese APIs halt einen Bereich abdecken, bei dem es nur selten Meilensteine an Neuerungen gibt. Deswegen beschränken sich Neuerungen in diesen Bereichen all zu oft nur auf Verbesserungen an bestehendem Code aber eingestellt wurde die Entwicklung von Swing jedenfalls nicht. Das Java Neulinge gleich mit SWT anfangen ist auch recht selten. Liegt an der von mir erwähnten Informationsflut. Mit SWT fängt man halt nur an, wenn man muss. Neue Entwickler in einem Team, welches an einer bestehenden GUI änderungen vornimmt oder Enwickler auf JVMs, wo Swing nicht existiert (Android Dalvik z.B.). Ein anderer Grund, SWT zu verwenden, wäre, wenn man mit Swing gar nicht klar bzw. sich SWT ansieht und merkt, dass man damit besser klar kommt.
[EDIT]Swing gehört im übrigen zum sog. JFC (Java Foundation Classes). Nicht auszudenken, was wär', wenn man auch nur eine einzige Schiene dieser API-Sammlung einstellt, obendrein noch die wichtigste.[/EDIT]
 
Zuletzt bearbeitet von einem Moderator:
G

Gast2

Gast
Also hier siehst du doch schon einen Vorteil, in einem Eclipse RCP hast du einen entsprechenden Text-Editor und einen XML - Editor (Mit Syntax Highlighting, Autocompletion usw.) die du verwenden kannst.
Wüsste dich nicht das Swing sowas bietet?

btw. an SWT wird auch nicht mehr großartig weiterentwickelt.
 
Zuletzt bearbeitet von einem Moderator:
S

Spacerat

Gast
Also hier siehst du doch schon einen Vorteil, in einem Eclipse RCP hast du einen entsprechenden Text-Editor und einen XML - Editor (Mit Syntax Highlighting, Autocompletion usw.) die du verwenden kannst.
Wüsste dich nicht das Swing sowas bietet?

btw. an SWT wird auch nicht mehr großartig weiterentwickelt.
1. Editoren gehören kaum zu einer API, es sei denn diese API bietet so etwas als fertige Klassen an. Das wäre Sache der verwendeten IDE. Wüsste nicht, wozu man in Swing einen XML-Editor benötigt. Zum Konfigurieren irgendwelcher Std-Klassen oder Klassenpfade jedenfalls nicht (afaik).

2. Was will man auch an irgendwelchen Window- oder Widgettoolkits grossartig weiter entwickeln, wenn es keine neuen Ideen für Elemente gibt. Evtl. gibt's ja deshalb bald ein ganz neues WT, welches die Vorzüge der beiden Konkurrenten vereint. Das nur, weil einer der Meinung ist, Swing und SWT seien veraltet. Viel Innovatives würde aber auch ein neues WT nicht bieten können.

...plötzlich fällt mir auf...
SWT wurde von IBM ja entwickelt, weil Swing damals nicht performant genug war, um damit eine komplexe IDE-GUI (Eclipse) zu realisieren. SWT baute dazu (wie auch Swing) auf AWT auf, deswegen ist das Eventsystem vermutlich auch nahezu das selbe. Aber wie geht's weiter? Sind SWT Elemente nun sog. Heavy- oder Lightweightcomponents? Da ich darüber nichts Aussagekräftiges finde, tippe ich mal auf ersteres. So hätte SWT einen entscheidenen Vorteil: Performance von AWT in einem Funktionsumfang von Swing, wobei die Portabilität allein Sache von IBM wäre. Andererseits: Bei aktueller Hardware und Java uptodate ist der Performanceunterschied zwischen AWT und Swing nur noch gering.
 
Zuletzt bearbeitet von einem Moderator:
G

Gast2

Gast
1. Editoren gehören kaum zu einer API, es sei denn diese API bietet so etwas als fertige Klassen an. Das wäre Sache der verwendeten IDE. Wüsste nicht, wozu man in Swing einen XML-Editor benötigt. Zum Konfigurieren irgendwelcher Std-Klassen oder Klassenpfade jedenfalls nicht (afaik).

Es gibt in Swing aber auch keine Libs, die das machen.
Von Graphen will mal gar nicht erst anfangen.

2. Was will man auch an irgendwelchen Window- oder Widgettoolkits grossartig weiter entwickeln, wenn es keine neuen Ideen für Elemente gibt. Evtl. gibt's ja deshalb bald ein ganz neues WT, welches die Vorzüge der beiden Konkurrenten vereint. Das nur, weil einer der Meinung ist, Swing und SWT seien veraltet. Viel Innovatives würde aber auch ein neues WT nicht bieten können.
Ahhhh stimmt darum haben sie JavaFX einfach nur so aus Spaß mal neu angefangen :).
Man könnte eine Menge in Swing und SWT verbessern.

SWT wurde von IBM ja entwickelt, weil Swing damals nicht performant genug war, um damit eine komplexe IDE-GUI (Eclipse) zu realisieren. SWT baute dazu (wie auch Swing) auf AWT auf, deswegen ist das Eventsystem vermutlich auch nahezu das selbe.
Wie kommst du darauf (Quelle?), dass SWT auf AWT aufbaut ? Die haben beide nichts miteinander zu tun, nur dass sie auf nativen Widget setzen.
Es gibt aus Performance Sicht keine Unterschied mehr zwischen Swing und SWT, du kannst beides "falsch" programmieren, dass es langsam wird ;). Aber wenn alles richtig gemacht wird, gibt es keinen Unterschied.
 

Sonecc

Gesperrter Benutzer
SWT baute dazu (wie auch Swing) auf AWT auf, deswegen ist das Eventsystem vermutlich auch nahezu das selbe.

Das ist falsch. SWT ist komplett eigenständig und völlig abgekoppelt von AWT oder Swing.
SWT ist dabei (genauso wie AWT) auf native Komponenten angewiesen, bzw. nutzt diese. Es sind also keine Lightweightcomponents.
Ein Blick zu Wikipedia oder auf die SWT Seite hätten dir diese Frage übrigens beantwortet, genauso wie ein Blick in dieses Thema. (warum auch immer dir das nicht in den Sinn gekommen ist, als du etwas "aussagekräftiges" gesucht hast)

Damit sind wir übrigens beim schon erwähnten Halbwissen und Aberglauben
 
Zuletzt bearbeitet:
S

Spacerat

Gast
Es gibt in Swing aber auch keine Libs, die das machen.
Von Graphen will mal gar nicht erst anfangen.
Hab' ich erstens auch nicht gesagt und zweitens schon vermutet, dass es die Dinge in SWT demzufolge auch nicht gibt. Warum also sollte man diverse Editoren als Vorteil für ein API gelten lassen? Wäre so, als wenn man solchen APIs das Fehlen eines 3D-Editors anlastet und deswegen auf Java3D mit ähnlichen Zusatzpaketen verweist.
Ahhhh stimmt darum haben sie JavaFX einfach nur so aus Spaß mal neu angefangen :).
Was haben denn JavaFX und WTs miteinander zu tun? Das sind Enhancements, die man nebeneinander verwenden kann, wenn man einen Grund dafür findet. Das Framework geht in eine ganz andere Richtung (Web-Application-Framework).
Man könnte eine Menge in Swing und SWT verbessern.
Klar, aber nichts davon wäre ein innovativer Meilenstein. Nicht rechteckige Fenster... gibt's schon. Halbtransparente Fenster... gibt's schon. Alles was man verbessern könnte, wäre performancetechnischer Natur, oder sollte man vllt. einfachere Methoden zum Einbinden von Grafiken einbauen? Das wäre meines Erachtens sogar ein ganz anderes Thema, denn in dieser Beziehung sind alle! Frameworks gleich.
Wie kommst du darauf (Quelle?), dass SWT auf AWT aufbaut ? Die haben beide nichts miteinander zu tun, nur dass sie auf nativen Widget setzen.
Hab' mich hier wohl verdrückt ausgekehrt. :oops: Ich fand AWT halt für Neulinge verständlicher und hab's dann verhaspelt. Sollte eigentlich nur auf den nativen Part abzielen.
[EDIT]Evtl. falsche Suchbegriffe bei Google... SWT, Heavyweight, Lightweight. Wenn es die letzten beiden Ausdrücke in SWT nicht gibt (tja... auf die einfachsten Dinge kommt erst, wenn's zu Spät ist.), kann man sich einen Wolf suchen. Aber dein Link macht einiges einfacher.[/EDIT]
 
Zuletzt bearbeitet von einem Moderator:
G

Gast2

Gast
Hab' ich erstens auch nicht gesagt und zweitens schon vermutet, dass es die Dinge in SWT demzufolge auch nicht gibt. Warum also sollte man diverse Editoren als Vorteil für ein API gelten lassen?
Wenn er die Anforderungen seiner GUI schon kennt und einen XML-Editor und Text-Editor benötigt, warum sollte er dann auf Swing setzen, wenn es andere Frameworks schon out of the box mitbringen? Und es für Swing keine -von mir bekannten- libs dafür gibt, macht das in der Entscheidung schon eine sehr große Rolle aus.
Oder willst du sowas selber implementieren, wenn es in einer anderen Technologie schon gibt?


Was haben denn JavaFX und WTs miteinander zu tun? Das sind Enhancements, die man nebeneinander verwenden kann, wenn man einen Grund dafür findet. Das Framework geht in eine ganz andere Richtung (Web-Application-Framework).
Was redest du eigentlich? Es geht hier um Desktopapplikationen und da hat man gerade die Auswahl zwischen JavaFX, Swing, SWT
Du weißt schon das dein geliebtes Swing in nächster Zeit von JavaFX abgelöst werden soll?:bahnhof:
JavaFX ? Wikipedia



EDIT:
[OT]
Und hier noch was zu Eclipse und JavaFX
http://www.java-forum.org/news/140111-eclipse-java-fx.html
[/OT]
 
Zuletzt bearbeitet von einem Moderator:
S

Spacerat

Gast
Wenn er die Anforderungen seiner GUI schon kennt und einen XML-Editor und Text-Editor benötigt, warum sollte er dann auf Swing setzen, wenn es andere Frameworks schon out of the box mitbringen? Und es für Swing keine -von mir bekannten- libs dafür gibt, macht das in der Entscheidung schon eine sehr große Rolle aus.
Oder willst du sowas selber implementieren, wenn es in einer anderen Technologie schon gibt?



Was redest du eigentlich? Es geht hier um Desktopapplikationen und da hat man gerade die Auswahl zwischen JavaFX, Swing, SWT
Du weißt schon das dein geliebtes Swing in nächster Zeit von JavaFX abgelöst werden soll?:bahnhof:
JavaFX ? Wikipedia



EDIT:
[OT]
Und hier noch was zu Eclipse und JavaFX
http://www.java-forum.org/news/140111-eclipse-java-fx.html
[/OT]

Komisch... wenn ich bei deinem Wiki-Link (welchen ich im Übrigen schon zur genüge kenne) nach "Swing" suche, wird's bereits beim "i" rot. Daraus folgt, dass das Wort "Swing" auf der gesamten Seite nicht ein mal vorhanden ist und damit wohl auch kaum erwähnt werden kann, dass Swing (welches btw immer noch die wichtigste der JFCs ist) durch JavaFX abgelöst werden soll. Wer von uns redet denn hier Blödsinn? Ausserdem ist es nicht mein geliebtes Swing, sondern halt nur Swing. Und wenn hier nun einer was schlecht redet, dann bist du das nun mehr selber.
 
Zuletzt bearbeitet von einem Moderator:
G

Gast2

Gast
Komisch... wenn ich bei deinem Wiki-Link (welchen ich im Übrigen schon zur genüge kenne) nach "Swing" suche, wird's bereits beim "i" rot. Daraus folgt, dass das Wort "Swing" auf der gesamten Seite nicht ein mal vorhanden ist und damit wohl auch kaum erwähnt werden kann, dass Swing (welches btw immer noch die wichtigste der JFCs ist) durch JavaFX abgelöst werden soll. Wer von uns redet denn hier Blödsinn? Ausserdem ist es nicht mein geliebtes Swing, sondern halt nur Swing. Und wenn hier nun einer was schlecht redet, dann bist du das nun mehr selber.

Du redest davon dass JavaFX ein WebFramework ist, darum hab ich dir mal den Link geschickt.
Und das Ziel von Oracel ist Swing abzulösen.

Ausserdem ist es nicht mein geliebtes Swing, sondern halt nur Swing. Und wenn hier nun einer was schlecht redet, dann bist du das nun mehr selber.

Ich hab Swing nirgends schlecht gemacht aber jut lassen wir das, wirklichen Grund hast mir nicht genannt warum der TO das einsetzen sollte.
 
S

Spacerat

Gast
1. siehe Anhang... das Bild kommt dir hoffentlich bekannt vor. Da steht: Kathegorie Web-Application-Framework.
2. Wo steht etwas davon, das Swing durch was auch immer abgelöst werden soll? Das hiesse im Kontext, dass man komplette JFC-Frameworks neu schreiben müsste. Die bisher durchgehaltene Abwärtskompatibilität jeder StdJRE würde damit auf der Strecke bleiben. Müsste also schon ein schwerer Designfehler sein, wenn man so einen Schritt gehen muss. Idiotie, wenn man ihn gehen würde.
3. Der Grund, warum man Swing verwenden sollte, war, dass man sich dadurch unnötig zähflüssige zusätzliche Informationsflut spart, welche SWT (mit dem, was man sonst noch so haben sollte) halt mit sich bringt. Das macht SWT nicht schlechter, nur schwerfälliger. Jetzt nenn' du mir 'nen Grund, warum du so auf SWT bestehst und komm mir nicht mit "weil's besser ist".
 

Anhänge

  • JavaFX.png
    JavaFX.png
    18,8 KB · Aufrufe: 33
G

Gast2

Gast
1. siehe Anhang... das Bild kommt dir hoffentlich bekannt vor. Da steht: Kathegorie Web-Application-Framework.
Nur weil das auf Wiki steht, muss es nicht gleich stimmen. Je nachdem wie man WebFramework definiert, aber auf jeden Fall läufts nicht im Browser. Ich finde bei Oracle auch zu dem Thema nichts die reden immer nur von RIA Framework, gibt aber auch RIA Frameworks für Swing (CaptainCasa).
JavaFX Architecture and Framework | JavaFX 2 Tutorials and Documentation

2. Wo steht etwas davon, das Swing durch was auch immer abgelöst werden soll? Das hiesse im Kontext, dass man komplette JFC-Frameworks neu schreiben müsste. Die bisher durchgehaltene Abwärtskompatibilität jeder StdJRE würde damit auf der Strecke bleiben. Müsste also schon ein schwerer Designfehler sein, wenn man so einen Schritt gehen muss. Idiotie, wenn man ihn gehen würde.
Schau mal Punkt 6:
JavaFX FAQ

3. Der Grund, warum man Swing verwenden sollte, war, dass man sich dadurch unnötig zähflüssige zusätzliche Informationsflut spart, welche SWT (mit dem, was man sonst noch so haben sollte) halt mit sich bringt. Das macht SWT nicht schlechter, nur schwerfälliger. Jetzt nenn' du mir 'nen Grund, warum du so auf SWT bestehst und komm mir nicht mit "weil's besser ist".

Ich habe gesagt er soll den Eclipse RCP verwenden, weil er dann einen XML-Editor und Text-Editor schon bekommt. Und danach auch gute Frameworks für Graphen reinnehmen kann.
Und wenn er Swing nimmt hat er das eben nicht und das selber zu implementieren wird sehr aufwändig


EDIT: Wenn du nur Swing und SWT/JFace vergleichen willst, machen wir lieber einen neuen Thread auf. Aber wie gesagt beide haben Vor- und Nachteile Sonecc hat ein paar aufgelistet
 
Zuletzt bearbeitet von einem Moderator:

Ronschk

Mitglied
Rich Client Platform
Dieses Tutorial. Ich schaffe es bis "Taking it for a spin". Zwar wird ein Fenster erstellt (welches anders aussieht als das im Screenshot), allerdings gibt es die Fehlermeldungen:

!SESSION 2012-09-13 14:42:05.015 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.7.0_06
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
Framework arguments: -application org.eclipse.ui.tutorials.rcp.part2.application
Command-line arguments: -application org.eclipse.ui.tutorials.rcp.part2.application -data E:\EclipseRCP\Workspace/../runtime-org.eclipse.ui.tutorials.rcp.part2.application -dev file:E:/EclipseRCP/Workspace/.metadata/.plugins/org.eclipse.pde.core/org.eclipse.ui.tutorials.rcp.part2.application/dev.properties -os win32 -ws win32 -arch x86_64 -consoleLog

!ENTRY org.eclipse.e4.ui.workbench 4 0 2012-09-13 14:42:06.733
!MESSAGE Unable to retrieve the bundle from the URI: bundleclass://org.eclipse.e4.ui.workbench.addons.swt/org.eclipse.e4.ui.workbench.addons.cleanupaddon.CleanupAddon

!ENTRY org.eclipse.e4.ui.workbench 4 0 2012-09-13 14:42:06.733
!MESSAGE Unable to retrieve the bundle from the URI: bundleclass://org.eclipse.e4.ui.workbench.addons.swt/org.eclipse.e4.ui.workbench.addons.dndaddon.DnDAddon

!ENTRY org.eclipse.e4.ui.workbench 4 0 2012-09-13 14:42:06.734
!MESSAGE Unable to retrieve the bundle from the URI: bundleclass://org.eclipse.e4.ui.workbench.addons.swt/org.eclipse.e4.ui.workbench.addons.minmax.MinMaxAddon



Warum? Ich habe alles exakt so gemacht wie da beschrieben (und da es sich nur um ein paar Eingaben im wizzard handelt sollte ich das auch fehlerfrei geschafft haben).
 

bERt0r

Top Contributor
Hast du schon versucht das zip File vom Tutorial runterzuladen und das zu starten? Und das Fenster wird bei dir nur so aussehen, wenn du WinXP hast.
 

Ronschk

Mitglied
okay. ne ich lasse es sein. RCP mag toll sein, ich erkenne den Sinn dahinter allerdings nicht, die Tutorials sind unverständlich und nicht hilfreich. Ich werde bei SWT+JFace bleiben und alles per Hand programmieren.
Wobei ich wieder bei 0 wäre.
 

Sonecc

Gesperrter Benutzer
Das von Ralf Ebert ist zwar IMO besser wie die von vogella, aber geschmackssache.

Die Aussage, dass die Tutorials unverständlich und nicht hiflreich seien, trifft jedenfalls nicht zu.
Man muss bedenken, dass man sich gewissen Grundbegriffe auch selbst aneignen muss.

Auch bei der Nutzung von Tutorials ist etwas eigenitiative notwendig!
 
S

Spacerat

Gast
Die Aussage, dass die Tutorials unverständlich und nicht hiflreich seien, trifft jedenfalls nicht zu.
Man muss bedenken, dass man sich gewissen Grundbegriffe auch selbst aneignen muss.

Auch bei der Nutzung von Tutorials ist etwas eigenitiative notwendig!
1. Eben. Tutorials sind eigentlich immer hilfreich.
2. Jep. Grundbegriffe und Grundlagen muss man sich selber aneignen. In der Einleitung eines jeden Tutorials sollte stehen, welche davon vorrausgesetzt werden. Ansonsten sind Tutorials ja gewisse Anleitungen, in denen jeder Schritt auf dem Niveau der Vorraussetzungen haarklein vermittelt wird.
deswegen
3. Zumindest ist zum Verständnis von Tutorials nur so viel Eigeninitiative notwendig, um die Vorraussetzungen zu erfüllen, damit man es durcharbeiten kann. Am Ende von Tutorials kann man mit dem dadurch entstandenen Code noch ein wenig Experimentieren, um es zu vertiefen.

@TO: Ich denke mal, das Tutorial ist nur unverständlich, weil dir evtl. Vorraussetzungen dafür fehlen? Du hast immer noch die Wahl, zwischen den anderen genannten APIs, von denen sicher eine an das von dir gewohnte QT erinnert bzw. QT evtl. ähnelt. Faktisch kann man sogar noch QT-Jambi erwähnen, aber eigentlich nur davon abraten, in Java gibt's halt andere Standards.
 
G

Gast2

Gast
Vor allem wenn man neu in einer API/Framework ist es normal, dass bei einem Tutorial nicht sofort die ganze Theorie dahinter versteht und auch nicht immer versteht warum tut das jetzt. Sowas kommt dann mit der Zeit.
 

Ronschk

Mitglied
So,
sorry, für die späte Antwort, ich war erstmal im Urlaub :) .
Es ist bestimmt so, dass mir für die Tutorials das nötige Basiswissen fehlt. Das habe ich doch auch geschrieben. Und in einem anderen Forum wurde mir auch gesagt, dass man erstmal OSGI verstehen muss, bevor man RCP verstehen kann. Wenn man die Kenntnisse hat, mag so ein Tutorial gut sein und man schafft es sicher auch sich step by step da durch zu arbeiten. Aber wenn plötzlich ein Fehler auftaucht, obwohl man 100%ig das gemacht hat was im Tutorial steht und man sich mit einer cryptischen Fehlermeldung beglücken muss, dann bringen einem die Tuts leider nichts (oder kaum etwas).

Wenn ihr irgendwelche Tutorials habt die vom Kenntnisstand zwischen RCP programmieren und Java Anfänger sind, gerne her damit! Ich habe leider bisher keine gefunden...
 
G

Gast2

Gast
Aber wenn plötzlich ein Fehler auftaucht, obwohl man 100%ig das gemacht hat was im Tutorial steht und man sich mit einer cryptischen Fehlermeldung beglücken muss, dann bringen einem die Tuts leider nichts (oder kaum etwas).

Sorry aber so ein Schmarrn! Wenn du alles genauso gemacht hättest würde auch kein Fehler kommen. Ich habe die Tutorials die ich dir geschrieben habe alle durch und haben immer funktioniert..,
 

Sonecc

Gesperrter Benutzer
Und in einem anderen Forum wurde mir auch gesagt, dass man erstmal OSGI verstehen muss, bevor man RCP verstehen kann.

Das ist IMHO nicht richtig.
Es hilft natürlich, wenn man OSGI Kenntnisse hat, aber ich selbst habe kaum Kenntnisse was OSGI betrifft und habe dennoch keine Probleme mit RCP.

Und wie SirWayne schon sagte, wenn du dich 100% an alles gehalten hast, läuft es in der Regel auch.
Der Fehler den du hier z.B. gepostet hattest, lag daran, dass du ein Tutorial genutzt hast, das 8! Jahre alt ist. Dass das was dort steht nicht mehr funktioniert sollte jedem klar sein.

Verwende doch mal das Tutorial was ich dir angeboten habe und bearbeite es vernünftig. (Das bedeutet, dass du auch mal ein wenig recherchieren musst). RCP ist nicht schwer und bietet dafür viel.
 

Ronschk

Mitglied
Gut. Ich habe mir jetzt einige Sachen zu OSGi durchgelesen und versucht das Tutorial Eclipse 4 RCP - Tutorial nochmal zu bearbeiten. Das Ralph Ebert Tut habe ich nicht genommen, da dort von Eclipse 3.7 die Rede ist und ich will ja aktuell sein und so.

Ich habe die aktuelle Java version 7u7 und genau die Schritte gemacht die dort erklärt wurden (ich habe das ganze ca. 5 Mal gemacht, immer wieder von 0 an) und jedes Mal kommt der Fehler "Unhandled Event Loop exception", sobald ich das erste Mal ein Eclipse4 Application Project erstelle. Wenn ich es dann lösche und ein neues öffne passiert nichts.

Mit der detaillierteren Beschreibung
Code:
eclipse.buildId=I20120608-1400
java.version=1.7.0_07
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
Framework arguments:  -product org.eclipse.epp.package.rcp.product
Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.rcp.product

Error
Thu Sep 27 15:08:30 CEST 2012
Unhandled event loop exception

org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Widget is disposed)
	at org.eclipse.swt.SWT.error(SWT.java:4361)
	at org.eclipse.swt.SWT.error(SWT.java:4276)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:138)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4144)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3761)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1022)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:916)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:585)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:540)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1414)
Caused by: org.eclipse.swt.SWTException: Widget is disposed
	at org.eclipse.swt.SWT.error(SWT.java:4361)
	at org.eclipse.swt.SWT.error(SWT.java:4276)
	at org.eclipse.swt.SWT.error(SWT.java:4247)
	at org.eclipse.swt.widgets.Widget.error(Widget.java:468)
	at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:340)
	at org.eclipse.swt.widgets.Text.setText(Text.java:2218)
	at org.eclipse.pde.internal.ui.parts.FormEntry.setValue(FormEntry.java:298)
	at org.eclipse.pde.internal.ui.parts.FormEntry.setValue(FormEntry.java:311)
	at org.eclipse.pde.internal.ui.editor.plugin.PluginGeneralInfoSection.refresh(PluginGeneralInfoSection.java:177)
	at org.eclipse.ui.forms.ManagedForm.doRefresh(ManagedForm.java:206)
	at org.eclipse.ui.forms.ManagedForm.access$0(ManagedForm.java:201)
	at org.eclipse.ui.forms.ManagedForm$1.run(ManagedForm.java:195)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
	... 24 more
kann ich aber auch nichts anfangen (google liefert mir zwar Ergebnisse aber nicht das was ich haben will).
Was soll ich jetzt machen?


ach ja: sorry für diesen schlechten Thread, aber der ist eh schon so weit verschandelt, da ist es besser den zu nehmen als nen neuen aufzumachen
 

Ronschk

Mitglied
Naja bis vor 4.3.
Ich habe nicht getestet, ob der Rest danach klappt, weils sinnlos ist mit nem potentiellen Fehler im Gepäck weiter zu machen.


Aber ich glaube so langsam verstehe ich die ganze Sinnhaftigkeit von RCP und OSGi. Morgen werde ich mir noch zwei Bücher ausleihen (schade, dass eclipse 4 so neu ist...) und dann wird bestimmt bergauf gehen :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M SWT: eigene Events AWT, Swing, JavaFX & SWT 9
M eigene GUI Bibliothek erstellen. AWT, Swing, JavaFX & SWT 8
M Eigene Java Klasse für allgemeine Grafikelemente AWT, Swing, JavaFX & SWT 8
H MouseAdapter Klasse nutzen wenn eigene Klasse bereits von anderer erbt AWT, Swing, JavaFX & SWT 13
Jose05 JavaFX: eigene FXML-Datei für einen Button AWT, Swing, JavaFX & SWT 3
V Swing für jedes Kästchen eine eigene Farbe AWT, Swing, JavaFX & SWT 2
L JavaFX Eigene Font benutzen AWT, Swing, JavaFX & SWT 6
B Notepad++ in die eigene GUI einbinden AWT, Swing, JavaFX & SWT 7
B JavaFX Bild um die eigene Achse drehen lassen AWT, Swing, JavaFX & SWT 0
M Eigene Klasse mit Grafikobjekten schreiben AWT, Swing, JavaFX & SWT 4
S JavaFX Drehen um eigene Achse AWT, Swing, JavaFX & SWT 2
P X extends TreeView - eigene Methoden AWT, Swing, JavaFX & SWT 5
Java_RY AWT Frame in eine eigene klasse auslagern und aufrufen AWT, Swing, JavaFX & SWT 6
L Eigene Component anordnen AWT, Swing, JavaFX & SWT 7
L JavaFX Eigene JavaFX Controls anlegen AWT, Swing, JavaFX & SWT 1
L Swing Teile eines JPanel in eigene Klasse auslagern AWT, Swing, JavaFX & SWT 3
J Eigene Klasse auf Basis Textfield in SceneBuilder anzeigen AWT, Swing, JavaFX & SWT 4
stylegangsta Eigene Klasse für JButton aus dem JFrame abrufen AWT, Swing, JavaFX & SWT 29
L Eigene Component Layout AWT, Swing, JavaFX & SWT 4
S Swing Eigene JComboBox Problem! AWT, Swing, JavaFX & SWT 1
O JTabeddpane aber jedes JPanel als eigene Klasse anlegen AWT, Swing, JavaFX & SWT 7
G Event Handling Event Handling in eigene Klasse AWT, Swing, JavaFX & SWT 4
L Eigene JComponent in GridLayout AWT, Swing, JavaFX & SWT 9
A JavaFX Scene Builder eigene Klasse hinzufügen AWT, Swing, JavaFX & SWT 2
L Swing Wie programmiere ich eine eigene GUI? AWT, Swing, JavaFX & SWT 12
T Swing Eigene Konsole AWT, Swing, JavaFX & SWT 5
D Swing Eigene Tabelle AWT, Swing, JavaFX & SWT 18
M eigene horizontale Scrollbar AWT, Swing, JavaFX & SWT 1
M JavaFX Scenebuilder eigene Komponenten AWT, Swing, JavaFX & SWT 8
A JavaFX Eigene Komponenten im Scene Builder AWT, Swing, JavaFX & SWT 0
J JavaFX Eigene ListCell Problem(Objekte werden doppelt angezeigt) AWT, Swing, JavaFX & SWT 1
C Swing MenuBar als eigene Klasse AWT, Swing, JavaFX & SWT 4
A Swing Eigene JComponent Scrollable AWT, Swing, JavaFX & SWT 6
Kenan89 3D Models aus anderen Spielen in eigene einfügen AWT, Swing, JavaFX & SWT 3
P Eigene CMD GUI zum Starten von JAR AWT, Swing, JavaFX & SWT 10
M Swing eigene Dialoge, aber wie genau? AWT, Swing, JavaFX & SWT 5
S Eigene JComponent Image zeichnen AWT, Swing, JavaFX & SWT 3
P Swing Alle Zeilen einer Spalte (jTable) zusammen zählen und in eine eigene Zeile das Ergebnis schreiben. AWT, Swing, JavaFX & SWT 7
K 3D-Grafik Eigene "Kamera" AWT, Swing, JavaFX & SWT 2
T eigene Klasse für Panel AWT, Swing, JavaFX & SWT 9
S Swing Eigene Komponente (JPanel) soll ChangeEvents verteilen AWT, Swing, JavaFX & SWT 12
E LookAndFeel Eigene Komponenten mit Synth L&F stylen AWT, Swing, JavaFX & SWT 2
alderwaran Swing XML editor plugin für eigene anwendung AWT, Swing, JavaFX & SWT 2
P Swing Eigene Komponente Entwickeln - erben von JComponent oder JPanel? AWT, Swing, JavaFX & SWT 5
B Eigene Methoden in TABs einfügen AWT, Swing, JavaFX & SWT 8
R eigene Methoden für Buttons? AWT, Swing, JavaFX & SWT 11
H Swing Eigene Komponente wird nur halb oder komisch angezeigt AWT, Swing, JavaFX & SWT 3
H Swing Eigene Komponente reagiert falsch auf mouseClicked() AWT, Swing, JavaFX & SWT 5
T Eigene JComponent AWT, Swing, JavaFX & SWT 4
L Eigene Design Oberfläche erstellen AWT, Swing, JavaFX & SWT 3
1 Eigene Component in JScrollBar + fixe Linien??? AWT, Swing, JavaFX & SWT 2
T SWT eigene Komponenten AWT, Swing, JavaFX & SWT 2
Kr0e Allgemeine Frage zu Java2D (Eigene Impl.) AWT, Swing, JavaFX & SWT 18
A Eigene StatusBar AWT, Swing, JavaFX & SWT 2
1 Eigene JComponent mit MouseListener versehen AWT, Swing, JavaFX & SWT 10
S Eigene GUI Elemente erstellen AWT, Swing, JavaFX & SWT 6
D Eigene Methode soll Gerade zeichnen AWT, Swing, JavaFX & SWT 5
D Swing Eigene Komponente mit JSpinner AWT, Swing, JavaFX & SWT 4
MrMilti eigene Klasse in JTable ablegen AWT, Swing, JavaFX & SWT 12
R Swing JTable: Eigene Zeichnung im Header AWT, Swing, JavaFX & SWT 11
A Eigene Border für Buttons AWT, Swing, JavaFX & SWT 19
A Eigene Buttons AWT, Swing, JavaFX & SWT 20
C JTextPane HTML und eigene Tags AWT, Swing, JavaFX & SWT 10
S Eigene GUI (evt. Toolkit) AWT, Swing, JavaFX & SWT 10
& eigene Schriftart in JEditorpane AWT, Swing, JavaFX & SWT 2
T Eigene Fenster kreieren?zb. wie bei Winamp? AWT, Swing, JavaFX & SWT 9
D Eigene Component erstellen? AWT, Swing, JavaFX & SWT 4
F eigene Swing-Komponente. Drehregler AWT, Swing, JavaFX & SWT 4
M Eigene Klasse für mehrer JSplitPanes AWT, Swing, JavaFX & SWT 3
M Eigene Komponenten basteln AWT, Swing, JavaFX & SWT 25
O Eigene GUI Objekte entwerfen? AWT, Swing, JavaFX & SWT 3
A Eigene, sich selbst zeichnende Component AWT, Swing, JavaFX & SWT 5
S Eigene Komponenten AWT, Swing, JavaFX & SWT 2
T Eigene erweiterte MouseEvents nutzen AWT, Swing, JavaFX & SWT 2
M In eigene JPanel Klasse zeichnen AWT, Swing, JavaFX & SWT 4
M CellEditor und CellRenderer für eigene Klasse AWT, Swing, JavaFX & SWT 4
M eigene ComponentUI und Serializable AWT, Swing, JavaFX & SWT 3
E Eigene Steuerelemente bauen AWT, Swing, JavaFX & SWT 3
H eigene paintComponent(Graphics) kommt mit rezise nicht klar AWT, Swing, JavaFX & SWT 6
G fullscreen GUI - eigene components? AWT, Swing, JavaFX & SWT 2
T 4 db tabellen in einem karteireiter eigene klasse für die me AWT, Swing, JavaFX & SWT 7
S SWT Für jede gui komponente eigene methode AWT, Swing, JavaFX & SWT 2
J Eigene Fehlermeldung in AWT erzeugen AWT, Swing, JavaFX & SWT 2
D eigene SwingKonsole. AWT, Swing, JavaFX & SWT 5
I Eigene JComboBox AWT, Swing, JavaFX & SWT 10
C UIDefaults für eigene Klasse anpassen AWT, Swing, JavaFX & SWT 3
C ISelectionProvider und eigene Selections AWT, Swing, JavaFX & SWT 2
M kann man auch eigene look and feels machen? AWT, Swing, JavaFX & SWT 2
L eigene Komponente, ActionEvent senden? AWT, Swing, JavaFX & SWT 3
E Beim Schließen des Fensters eigene Funktion aufrufen AWT, Swing, JavaFX & SWT 8
M JTable mit JCombobox eigene Auswahl pro Zeile ? AWT, Swing, JavaFX & SWT 3
T JFrame - eigene Titelleiste AWT, Swing, JavaFX & SWT 8
Y Eigene Komponente einfügen AWT, Swing, JavaFX & SWT 6
G Eigene Koponente erstellen AWT, Swing, JavaFX & SWT 3
G Eigene Componente in jScrollView einbetten AWT, Swing, JavaFX & SWT 6
T Eigene grafische Oberfläche AWT, Swing, JavaFX & SWT 7
G mouse events AWT, Swing, JavaFX & SWT 6
Heldderschatten Java Events und Interfaces AWT, Swing, JavaFX & SWT 18
T Swing Änderung des ActionListener Events nach Klick auf JButton AWT, Swing, JavaFX & SWT 2
D Swing Events vom JLayer abfangen AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben