GridLayout an Fenstergröße anpassen

sjostjerna

Grünschnabel
Hi

ich versuch mich gerade an GridLayout, womit ich auch schon mal vorneweg schicken will das es nicht gerade mein Steckenpferd ist. Also zu meinem Problem:
Ich habe alle Komponenten in ein GridLayout gepackt, allerdings passt sich das ganze nicht an die Fenstergröße an, wenn ich es zum Beispiel mit minimieren verkleinere.

Kann mir da vielleicht einer weiterhelfen

die übergeordnete Shell
Code:
shell	= SWTUtil.getShell();
		Rectangle size = SWTUtil.getSize();
		size.height	= size.height-76;
		GridLayout grid = new GridLayout();
		grid.numColumns = 1;
		grid.marginHeight = 0;
		grid.marginWidth = 1;
		grid.horizontalSpacing = 1;
		grid.verticalSpacing = 0;
				
		//einzelne Editorkomponenenten hinzufügen
		menuBar(shell);
		coolBar(shell);
		Composite workPanel = new Composite(shell,SWT.FLAT);
		GridLayout workGrid = new GridLayout();
		workGrid.numColumns = 2;
		workGrid.marginHeight = 0;
		workGrid.marginWidth = 0;
		workGrid.horizontalSpacing = 0;
		workGrid.verticalSpacing = 0;
		GridData workData = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING|GridData.VERTICAL_ALIGN_END|GridData.GRAB_HORIZONTAL|GridData.GRAB_VERTICAL|GridData.HORIZONTAL_ALIGN_FILL);
		workPanel.setLayout(workGrid);
		workPanel.setLayoutData(workData);
		
		imagePanel(workPanel,size);
		textPanel(workPanel,size);
		soundPanel(workPanel,size);
		shell.setLayout(grid);
		//Zum Schluß das ganze erzeugen
		SWTUtil.openShell(shell);

und dann in den einzelnen Komponenten

Code:
private void imagePanel(Composite workPanel, Rectangle size)
	{
		....	
		final Group group	= new Group(workPanel,SWT.CENTER|SWT.SHADOW_ETCHED_IN);
		group.setText("Bilder");
		group.setLocation(2,2);
		GridData imageGrid = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING|GridData.VERTICAL_ALIGN_BEGINNING|GridData.GRAB_HORIZONTAL|GridData.GRAB_VERTICAL);
		group.setLayoutData(imageGrid);
....
}
 
Zurück