composite erst sichtbar wenn shell vergrößert/verkleinert oder verschoben wird

  • Themenstarter Themenstarter tyr
  • Beginndatum Beginndatum
T

tyr

hi,

mein problem ist, dass ich die flowitems (bilder mit titel darunter) erst sehe, wenn ich die shell vergrößere/verkleinere/verschiebe. ich vermute mal, dass ich einen der befehle redraw, update oder vl. layout() auf ein composite oder die hauptshell verwenden müsste, aber leider hat mir systematiches herumprobieren nicht weiter geholfen.

public void createPartControl(Composite parent) {
this.parent = parent;
layout = new StackLayout();
content = parent;
content.setLayout(layout);
tablecomp = new Composite(content, SWT.NO_TRIM);
flowcomp = new Composite(content, SWT.NO_TRIM);
layout.topControl = tablecomp;
content.addControlListener(new ControlListener(){
public void controlMoved(ControlEvent e) {}
public void controlResized(ControlEvent e) {
t.setBounds(content.getBounds());
if(flow != null){flow.setBounds(content.getBounds());}
}});
}
public static void setAnsicht1(){
layout.topControl = tablecomp;
t.setBounds(content.getBounds());
content.layout();
System.out.println("Set Ansicht1");
}
public static void setAnsicht2(){
layout.topControl = flowcomp;
createFlow(); //hier wird eine art slideshow erstellt
flow.pack();
flow.setBounds(content.getBounds());
System.out.println(flow.getBounds());
System.out.println("yo");
content.layout();
Shell shell = Display.getDefault().getActiveShell().getShell();
shell.setMinimumSize(400, 600);
}

mfg tyr
 
Zurück