Как получить Composite, содержащий FlowLayout внутри ScrolledComposite, для роста по вертикали, а не по горизонтали?

Я пытаюсь создать Composite, содержащий FlowLayout внутри ScrolledComposite, так что Composite наследует свою ширину от ScrolledComposite, но динамически увеличивается в высоте. Я искал некоторые фрагменты, но я не заставляю их работать; Я могу только заставить его расти в ширину, что нежелательно.

Я пытаюсь создать вид, содержащий несколько миниатюр, чтобы заполнить окно / окружающий композит шириной и прокруткой по высоте.

1 ответ

Вам нужно будет переопределить метод computeSize композита или FillLayout, чтобы всегда сообщать заданный widthHint, если только подсказка width не меньше ширины одного эскиза, в этом случае вы можете захотеть показать горизонтальную прокрутку).

Также возможно, что вы добавите слушатель изменения размера в ScrollComposite и продолжаете вызывать ScrollComposite#setMinSize() чтобы композит внутри рос только вертикально.

Также вы используете правильный тип на FillLayout?

Другие вопросы по тегам