A veces nos encontramos con un compuesto SWT que se niega por completo a establecerse correctamente. A menudo nos encontramos con esto cuando hemos llamado a deshacerse de un compuesto, y luego lo reemplazamos por otro; aunque no parece estar estrictamente limitado a este caso.¿Por qué un SWT Composite a veces requiere una llamada para cambiar el tamaño() al diseño correctamente?
Cuando nos encontramos con este problema, aproximadamente el 50% del tiempo, podemos llamar al pack()
y layout()
en el compuesto ofensivo, y todo estará bien. Alrededor del 50% de las veces, sin embargo, tenemos que hacer esto:
Point p = c.getSize();
c.setSize(p.x+1, p.y+1);
c.setSize(p);
Hemos tenido que esto ocurra con casi todas las combinaciones de controladores de distribución y tal.
Ojalá tuviera una funda agradable, simple y reproducible, pero no es así. Espero que alguien reconozca este problema y diga: "Bueno, duh, te falta xyz ...."
+1 y aceptado. Ojalá pudiera +10 este: P – Jared
He tenido el mismo problema que el autor de la pregunta. diseño (verdadero, cierto) me ha ayudado. – ka3ak
¡Gran respuesta! +1 –