¿Por qué a veces un SWT Composite requiere una llamada para cambiar el tamaño () para diseñar correctamente?

A veces encontramos un compuesto SWT que se niega absolutamente a presentarse correctamente. A menudo nos encontramos con esto cuando hemos llamado a disponer en un compuesto, y luego lo reemplazamos con otro; aunque no parece estar estrictamente limitado a este caso.

Cuando nos encontramos con este problema, aproximadamente el 50% del tiempo, podemos llamar apack() ylayout() en el compuesto ofensivo, y todo estará bien. Sin embargo, alrededor del 50% del tiempo, tenemos que hacer esto:

Point p = c.getSize();
c.setSize(p.x+1, p.y+1);
c.setSize(p);

Hemos hecho que esto suceda con casi todas las combinaciones de administradores de diseño y demás.

Desearía tener un caso bonito, simple y reproducible, pero no lo tengo. Espero que alguien reconozca este problema y diga: "Bueno, duh, te estás perdiendo xyz ..."

Respuestas a la pregunta(4)

Su respuesta a la pregunta