Affecter un LayoutManager au conteneur (par exemple un GridLayout), par setLayout(), et des LayoutData correspondant aux contenus (par exemple GridData), par setLayoutData().
Version imprimable
Cela je le fait déjà dans le Viewer :
Code:
1
2
3
4
5
6
7
8
9
10
11 @PostConstruct public void createControls(Composite parent) { System.out.println("test"); ScrolledComposite scrolledComposite = new ScrolledComposite(parent, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); scrolledComposite.setLocation(149, 0); scrolledComposite.setExpandHorizontal(true); scrolledComposite.setExpandVertical(true); Composite composite = new Composite(scrolledComposite, SWT.NONE); composite.setLayout(new GridLayout(8, false));
J'ai rajouté un Layout sur le viewer :
et un layoutData sur le scrolledComposite :Code:
1
2
3
4
5
6 public AbstractViewer(Composite parent) { super(parent, SWT.NONE); this.setLayout(new GridLayout(1, false)); createControls(this); }
Aucune modification, il n'y a toujours rien qui apparaît.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 public void createControls(Composite parent) { System.out.println("test"); ScrolledComposite scrolledComposite = new ScrolledComposite(parent, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); scrolledComposite.setLocation(149, 0); scrolledComposite.setExpandHorizontal(true); scrolledComposite.setExpandVertical(true); Composite composite = new Composite(scrolledComposite, SWT.NONE); composite.setLayout(new GridLayout(8, false)); scrolledComposite.setContent(composite); scrolledComposite.setMinSize(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT)); scrolledComposite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); }
Je ferais
mais aussi sur le viewer lui-même :Code:scrolledComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
Code:
1
2
3
4 AbstractViewer viewer = factory.createViewer(parent, object[0]); viewer.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); parent.layout(); parent.redraw();
Pfiouuu ça aura été long et fastidieux, mais ça marche ! Un grand merci à toi :)