# Simple Frage zu SWT



## 8ull23y3 (8. Feb 2005)

Hi... ich weiss die Frage ist nicht gerade doll gewählt aber ich wusste nicht wie ich die Frage stellen sollte.

Wenn ich in SWT z.B. einen Button haben möchte muss ich ja

Button b = new Button(shell, SWT.NONE);

schreiben. Nu wollt ich wissen wofür ist dieses SWT.NONE steht und was man da noch eintragen könnte und wofür das dann ist?!

Ach und noch eine Frage wie kann ich die Höhe von z.B. einem TextFeld festlegen?

Hm mir ist gerade nochwas eingefallen. Kann man Swing und SWT mischen oder SWT undn AWT?

Danke schonmal...


----------



## EagleEye (8. Feb 2005)

mischen geht glaube ich nicht aber den rest weiß ich auch nicht


----------



## 8ull23y3 (8. Feb 2005)

Naja ist auch nicht schlimm wart ich eben Danke trotzdem


----------



## niemand (8. Feb 2005)

Zum Button hilft dir vielleicht http://www.eclipse.org/documentatio...rence/api/org/eclipse/swt/widgets/Button.html weiter. Wenn du da ein wenig umhersuchst, findest du auch sicher etwas zum Textfeld.

cu


----------



## foobar (8. Feb 2005)

> Button
> 
> public Button(Composite parent,
> int style)
> ...





> Styles:
> ARROW, CHECK, PUSH, RADIO, TOGGLE, FLAT
> UP, DOWN, LEFT, RIGHT, CENTER




Quelle: http://help.eclipse.org/help30/inde...rence/api/org/eclipse/swt/widgets/Button.html

RTFM


----------



## 8ull23y3 (8. Feb 2005)

und wie siht das aus mit der Höhe eines Textfeldes? das ist wirklich nur so hoch wie mein Cursor ist.
Ich hätter gern einen kleinen Abstand oben und unten eben so wie in swing etwa.


----------



## stev.glasow (8. Feb 2005)

Probier mal setSize(int, int)  ;-)

Und du kannst eine AWT Componente auf eine SWT Composite setzen. Ich weiß aber nicht mehr genau wie :?  wenn's wichtig ist guck ich aber nochmal nach, hab das mal mit der Java3D Canvas probiert, aber nicht hinbekommen :?


----------



## stev.glasow (8. Feb 2005)

nochmal zum Thema AWT in SWT:
Schau dir mal das Packet org.eclipse.swt.awt an (ist seid SWT 3.0 dabei) dort gib es eine Klasse SWT_AWT.

Direktes einbinden in eine Composite geht doch nicht, es ist nur folgendes möglich:
SWT Composite als AWT-Frame :   java.awt.Frame 	new_Frame(Composite parent) 
AWT Canvas als SWT-Shell:  static Shell new_Shell(Display display, java.awt.Canvas parent) 
Sprich die "fremden Sachen" werden als extra Fenster dargestellt.

*nochmalDasZeugsMitDerJava3DCanvasRausKram*


----------



## stev.glasow (8. Feb 2005)

So, hab mich nochmal belesen:
das





			
				stevg hat gesagt.:
			
		

> Direktes einbinden in eine Composite geht doch nicht, es ist nur folgendes möglich:
> SWT Composite als AWT-Frame :   java.awt.Frame 	new_Frame(Composite parent)
> AWT Canvas als SWT-Shell:  static Shell new_Shell(Display display, java.awt.Canvas parent)
> Sprich die "fremden Sachen" werden als extra Fenster dargestellt.


ist absoluter Blödsinn.

Um AWT u. Swing in SWT einzubetten  musst du nämlich folgendes tun:
mit Frame frame = SWT_AWT.new_Frame(composite);
holst du dir einen AWT Frame welcher in das composite eingebetten wird.
Deine AWT Kompontenten brauchst du jetzt nur noch ganz normal dem frame hinzufügen.
Für Swing benötigst du einen JRootPane welchem du dein Swing Zeugs "gibst" und dem frame addest.

Um SWT in AWT oder Swing zu nutzen benötigst du eine java.awt.Canvas in der dann deine SWT Komponenten eingebettet werden sollen. Diese übergibst du der  new_Shell(Display display,  java.awt.Canvas dieCanvas)
durch die du eine Shell erhälst der du dann ganz normal alle einzubettenden SWT Widgets hinzufügen kannst.

Also ich find's prakisch. Besonders das man Swing direkt in SWT einbetten kann.


----------



## 8ull23y3 (9. Feb 2005)

Vielen Dank stev.

Gibts denn auch sowas wie das BorderLayout in SWT? oder was vergleichbares?


----------



## stev.glasow (9. Feb 2005)

Ich kenne nur die Standardlayouts: Fill-, Row- und Gridlayout.


----------

