XUL - SWT- Layout Frage

Luxor

Mitglied
Hallo,

ich hätte eine Frage, in XUL (XUL-UI-beispiel funktioniert mit Mozillabrowser) ist es möglich mit dem Flex-tag Buttons Wertigkeiten für die Breite zugeben. Also z.B 3 Buttons in einer Reihe, die im Verhätlnis 5 zu 3 zu 1 stehen.
Meine Frage geht das auch mit SWT solch ein dynamischen Tag zu setzen ?

Als einzige Möglichkeit sehe ich die Anzahl der Spalten (numColums) auf mindestens den Wert zu setzen, der die addierten Werte der Flex-tag ergeben, was ich als nicht so schön empfinde und dem Idee des Flex-tags entgegenspricht.
Könnte etwa so ausschauen, geht aber nicht wie gewünscht. Alle Button sind gleich gross.
Code:
package de.question;    
import org.eclipse.swt.SWT; 
import org.eclipse.swt.layout.GridData; 
import org.eclipse.swt.layout.GridLayout; 
import org.eclipse.swt.widgets.Button;  
import org.eclipse.swt.widgets.Display;  
import org.eclipse.swt.widgets.Shell;    
/**  
 * created first in de.question
*/  
public class SimpleUI {
    	public static void main(String[] args) {
  		Display display = new Display();
  		Shell testshell = new Shell(display);
    		GridLayout gridLayout = new GridLayout();
  		gridLayout.numColumns = 9;
  		testshell.setLayout(gridLayout);

    		Button testbut = new Button(testshell, SWT.PUSH);
  		testbut.setText("Button 1 Mit 5 Spalten");
  		GridData testgrid = new GridData(GridData.FILL_HORIZONTAL);
  		testgrid.horizontalSpan = 5;
  		testbut.setLayoutData(testgrid);
    		testbut = new Button(testshell, SWT.PUSH);

  		testbut.setText("Button 2 mit 3 Spalten"); 
 		testgrid = new GridData(GridData.FILL_HORIZONTAL);
  		testgrid.horizontalSpan = 3; 
 		testbut.setLayoutData(testgrid); 
   		testbut = new Button(testshell, SWT.PUSH);

  		testbut.setText("Button 3"); 
 		testgrid = new GridData(GridData.FILL_HORIZONTAL);
  		testgrid.horizontalSpan = 1;
  		testbut.setLayoutData(testgrid);

  		testshell.pack();
  		testshell.open();
  		while (!testshell.isDisposed()) {
  			if (!display.readAndDispatch())
  				display.sleep();
  		}
  		display.dispose();
    	}
  }
Hat jemand eine Idee wie man das auch in Java umsetzen kann ?

Gruß
Luxor
 
Unter AWT gibts den Gridbaglayout-Manager der mit weightx bzw weighty die gewünschte Funktionalität hat. Hat jemand schon eine Implementation für den Gridlayout-Manager unter SWT gesehen ?

Gruß

Luxor
 
Zurück