SWT und Probleme mit der Expandbar

Igeloeffnung

Grünschnabel
Hallo,

ich habe vor kurzem mit GUI-Programmierung in Java angefangen und habe mich für SWT entschieden.

Ich möchte in meinem Fenster eine "ExpandBar" einbauen und habe mir jetzt schon die Beispiele aus einigen Foren und der "Eclipse SWT" Seite angesehen.
Das einbauen und verändern der einzelnen Items ist ja kein Problem, mein Problem ist es die Größe der ExpandBar festzulegen. Wenn ich sie einbaue geht sie immer über das ganze Fenster, ich möchte es aber eher so wie bei WinXP haben, dass sie an der linken Fensterseite sitzt.

Hier mein Quellcode:
Code:
import java.awt.Dimension;
import java.awt.Toolkit;

import org.eclipse.swt.*;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.graphics.*;

import java.io.InputStream;

public class Client_GUI extends Thread{
		
	private Display display;
	private Shell shell;
	
	private static final int x = 800;
	private static final int y = 600;
	
	private static final String prog_icon = "icons/prog_ico.png";
	
//	Konstruktor
	public Client_GUI(){	
	}
	
	
	public void run(){
		this.display = new Display();
		this.shell = new Shell(display);
		FillLayout layout = new FillLayout();
	    shell.setLayout(layout);
		set_window_properties();
		set_expand_bar();
		shell.open();
		while(! shell.isDisposed())
			if(! display.readAndDispatch())
				display.sleep();
	}
	
	
	private void set_window_properties(){
		Toolkit toolkit = Toolkit.getDefaultToolkit();
		Dimension screenSize = toolkit.getScreenSize();	
//	setzen der Fenstergroesse
		shell.setSize(x, y);
//	Fenster in die Mitte des Bildschirms setzen
		shell.setLocation((screenSize.width / 2)-(x / 2), (screenSize.height / 2) - (y / 2));
//	Fenster Text setzen (Programmname)
		shell.setText("Programm Titel");
//	setzen des ProgrammIcons
		InputStream stream = Client_GUI.class.getResourceAsStream(prog_icon);
		Image image = new Image(display, stream);
		shell.setImage(image);
	}

	
	private void set_expand_bar(){
		ExpandBar bar = new ExpandBar (shell, SWT.V_SCROLL);
		// First item
		Composite composite = new Composite (bar, SWT.NONE);
		GridLayout layout = new GridLayout ();
		layout.marginLeft = layout.marginTop = layout.marginRight = layout.marginBottom = 10;
		layout.verticalSpacing = 10;
		composite.setLayout(layout);
		Button button = new Button (composite, SWT.PUSH);
		button.setText("SWT.PUSH");
		button = new Button (composite, SWT.RADIO);
		button.setText("SWT.RADIO");
		button = new Button (composite, SWT.CHECK);
		button.setText("SWT.CHECK");
		button = new Button (composite, SWT.TOGGLE);
		button.setText("SWT.TOGGLE");
		ExpandItem item0 = new ExpandItem (bar, SWT.NONE, 0);
		item0.setText("What is your favorite button");
		item0.setHeight(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT).y);
		item0.setControl(composite);
		
		
	}
	
}

Nun die Frage, kann mir jemand verraten, wie ich die Größe der ExpandBar setzen kann bzw. einen Trick verraten, dass sie am linken Rand des Fensters sitzt...

Danke schonmal...
 
Zurück