1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
|
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.ScrolledComposite;
import org.eclipse.swt.events.ControlAdapter;
import org.eclipse.swt.events.ControlEvent;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
/**
*
*/
/**
* Description
*
* @author Laurent CARON
* @since 25 mars 2009
* @version 1.0
*
* Modifications : 25 mars 2009 par Laurent CARON : création
*
*/
public class SashExample {
/**
* @param args
*/
public static void main(String[] args) {
final Display display = new Display();
final Shell shell = new Shell(display);
shell.setLayout(new GridLayout(1, false));
// Section scrolledcomposite
final ScrolledComposite sc = new ScrolledComposite(shell, SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER);
sc.setExpandHorizontal(true);
sc.setExpandVertical(true);
sc.setMinSize(0, 0);
sc.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true));
final Composite composite = new Composite(sc, SWT.NONE);
composite.setLayout(new GridLayout(1, true));
GridLayout layout = new GridLayout();
layout.verticalSpacing = 15;
layout.numColumns = 1;
layout.marginTop = 10;
layout.horizontalSpacing = 200;
composite.setLayout(layout);
composite.addControlListener(new ControlAdapter() {
public void controlResized(ControlEvent e) {
Point s = composite.computeSize(SWT.DEFAULT, SWT.DEFAULT);
sc.setMinSize(s);
}
});
sc.setContent(composite);
Point s = composite.computeSize(SWT.DEFAULT, SWT.DEFAULT);
sc.setMinSize(s);
// Fin section Scrolled Composite
Button ajout = new Button(shell, SWT.PUSH);
ajout.setText("Ajouter une radio :)");
ajout.addListener(SWT.Selection, new Listener() {
@Override
public void handleEvent(Event arg0) {
Button radio = new Button(composite, SWT.RADIO);
radio.setText("Radio");
composite.layout();
Point s = composite.computeSize(SWT.DEFAULT, SWT.DEFAULT);
sc.setMinSize(s);
}
});
shell.setSize(800, 600);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
} |
Partager