SWT mit Eclipse

aXiEd

aXiEd

Aktives Mitglied
Thread Starter
Dabei seit
01.08.2006
Beiträge
885
Reaktionspunkte
68
Guten Tag allerseits!

Ich habe vor mit Hilfe von Eclipse Anwendungen die eine GUI haben zu entwickeln. Geschehen soll dies mittels SWT. Bisher habe ich nur Eclipse installiert.

Was muss ich jetzt noch genau runterladen / installieren?
 
SWT hab ich zum laufen bekommen. Kann als Programm bereits ein leeres Fenster erstellen.

Kennt jemand eine gute GUI um ganz bequem ein Interface für eine Anwendung zu entwerfen?

Noch eine andere Frage: würde dieses Programm auch nun unter Windows laufen ohne irgendetwas spezielles zu machen?

Code:
import org.eclipse.swt.widgets.*;

public class Snippet1 {

public static void main (String [] args) {
	Display display = new Display ();
	Shell shell = new Shell(display);
	shell.open ();
	while (!shell.isDisposed ()) {
		if (!display.readAndDispatch ()) display.sleep ();
	}
	display.dispose ();
}
}
 
aXiEd schrieb:
Noch eine andere Frage: würde dieses Programm auch nun unter Windows laufen ohne irgendetwas spezielles zu machen?

SWT basiert auf C-Libraries soweit ich weiß, die dürften kaum portabel sein!
Bei dem was Du vorhast ist Swing die portablere Wahl!
 
Gibt Libraries für Mac, Windows, Linux und ein paar andere. Musst halt die jeweiligen dabei haben. Innerhalb von Eclipse sollten die so laufen da Eclipse die Libraries ja mitbringt.
 
Welchhe Software empfehlt ihr denn? Mein Ziel ist es Java Anwendungen mit GUIs zu entwickeln welche sowohl auf OS X als auch auf Windows laufen.
 
Schon mal an eine RCP-Anwendung gedacht?
 
Also ich hab eigentlich nur gute Erfahrungen mit SWT gesammelt. Ich würde die Finger von Swing oder AWT lassen. Hier werden alle Fenster und Controls direkt in Java gezeichnet. Das macht die Sache ziemlich langsam. SWT verwendet die systemnahen native Libraries welche zum einen nicht das typische Java-Look&Feel haben und zudem viel schneller sind.
Beim Portieren auf ein anderes System musst du nur diese native Klassen austauschen und es läuft ohne Probleme.
Für kleine Anwendungen mit nur wenigen Ansichten, reicht dir bestimmt SWT aus. Für größere Anwendungen würde ich dir auch die "Rich Client Plattform" kurz RCP empfehlen. Hier hast du schon ein fertiges Grundframework.

Der Einzige Vorteil von Swing und Co ist die bessere Unterstüzung für Test Driven Development. Zumindest gibt es meines Wissens nach noch keine vernümpftige Möglichkeit Unittests für SWT Interfaces zu schreiben.
Lasse mich aber gerne aufklären. ;)

Gruß Sven
 
MAChhin schrieb:
Der Einzige Vorteil von Swing und Co ist die bessere Unterstüzung für Test Driven Development. Zumindest gibt es meines Wissens nach noch keine vernümpftige Möglichkeit Unittests für SWT Interfaces zu schreiben.

OT: Mit was machst Du denn Unittests für Swing-GUIs? Ich kenn (als ernsthafte Testumgebung) nur das Mercury-Zeug - und das taugt ja mal so gut wie gar nicht für Swing...
 
DeineMudda schrieb:
OT: Mit was machst Du denn Unittests für Swing-GUIs? Ich kenn (als ernsthafte Testumgebung) nur das Mercury-Zeug - und das taugt ja mal so gut wie gar nicht für Swing...

OT: Wenn dir die Bordmittel von JUnit (jnunit.swingui.*) nicht ausreichen kannst du dir mal diese Erweiterungen des JUnit Testframeworks anschauen.

jfcunit
abbot

Ich persönlich hatte mich nur kurz mit Swing beschäftigt und mich dann lieber mit SWT beschäftigt. :D
 
Kann mir denn nun jemand eine Software empfehlen, welche es ermöglicht Programme zu entwickeln welche unter OS X und Windows laufen, mit GUI! Ich will nur in OS X entwickeln, und die fertige .jar nachher auch auf Windows benutzen können, ohne irgendwas umzuändern...

Gibt es das? Kostenpflichtige Lösungen wären auch ok!
 
Wie bereits erwähnt, schau Dir die Eclipse RCP-Programmierung.

Damit entwickelst Du Plugins für Eclipse, die sowohl auf dem Mac als auch auf einer Windows-Kiste laufen. Du kannst Eclipse soweit costumizen, dass keiner merkt, dass es auf Eclipse läuft. Ist im Moment völlig hype!

btw ... es empfiehlt sich dann natürlich auch mit SWT zu arbeiten.
 
Wie Plugins für Eclipse? Benötigt der Anwender meiner Programme dann Eclipse um sie auszuführen? Ich versteh das nicht so ganz. :kopfkratz:
 
Genau, Eclipse stellt ein Framework zur Verfügung, für das Du Plugins schreiben kannst. Das ganze wird als Bundle asugeliefert und installiert. Bei Windows kannst Du sogar die JRE direkt mit ausliefern.

Eclipse nimmt die Das Fensterhandling ab, stellt einen Editor bereit, etc.
 
Ich will aber keinen Nutzer zwingen Eclipse zu installieren damit er mein Programm nutzen kann. Das ist meiner Meinung nach keine gute Lösung!
 
Eclipse wird mit ausgeliefert, inkl. deines/deiner Plugins. Der Nutzer merkt von Eclipse nichts. er bekommt das fertige Paket. Und, wenn Du dich anstrengst, ist es für einen Laien nicht erkennbar.
 
Eclipse selbst ist auch nur eine RCP-Anwendung. Sieh es mal von der Seite.
Die Rich Client Plattform ist, wie der Name schon sagt, nur die Plattform für deine Anwendung. Ob du mit diesem Framework ein neues Eclipse, ein Grafikprogramm oder eine DVD-Verwaltung schreibst ist völlig wurscht.

Schau dir am besten mal das Tutorial zu RCP in Eclipse an. Das findest du über den Welcome-Screen in Eclipse. Da kannst du dir mal direkt anschauen wie das alles zusammenhängt.

Grüße
Sven
 
Zurück
Oben Unten