SWT композитное изменение размера - PullRequest
0 голосов
/ 04 августа 2020

Я делаю приложение, в котором у меня есть композит, внутри которого есть другой композит с несколькими кнопками. Дело в том, что когда я изменяю размер композита с помощью кнопок, иногда кнопки скрываются. Я решил это, заменив композитный.layout () методом композитного.requestLayout (). В чем разница между этими двумя методами и почему он отлично работает с requestLayout () и иногда с layout (), судя по тому, что я видел, они в значительной степени похожи. Спасибо!

1 Ответ

0 голосов
/ 04 августа 2020

Composite.layout запрашивает повторную компоновку композита и его дочерних элементов. Если содержимое композита становится больше, он не сообщает родителю композита, что ему нужно больше места, поэтому некоторые вещи могут оказаться скрытыми.

Composite.requestLayout (на самом деле Control.requestLayout) запросы что все элементы управления-предки элемента управления в Shell должны быть снова выложены (это делается асинхронно). Это позволит настроить все необходимое, чтобы освободить место.

...