Расположение пользовательских кнопок - PullRequest
3 голосов
/ 08 марта 2012

Я пытаюсь создать кнопки в форме, показанной на следующем рисунке: Powerpoint arrow buttons

Это работает очень хорошо, выполняя следующие действия:

class ArrowButton extends Composite {
    ArrowButton(Composite parent, int style) {
        [...]
        setRegion(customRegion);
    }
}

addStuff(Composite parent) {
    ArrowButton b = new ArrowButton(parent, SWT.NONE);
    b.setBounds(x, y, width, height);
}

Однако я хочу использовать менеджер раскладки для разметки этих кнопок. В идеале кнопки расположены в стандартном размере, после чего они все еще могут рисовать за пределами этой области.

Это вообще возможно? Как я могу это сделать?

1 Ответ

1 голос
/ 09 марта 2012

Менеджеры компоновки имеют две функции: вычисление размера композита, к которому они применяются, и задание границ дочерних композита. Учитывая относительную простоту ваших требований (расположите кнопки горизонтально), я бы сказал, что вам лучше сделать макет самостоятельно (а не пытаться взломать существующую реализацию). Вы всегда можете поместить свой код в делегат за интерфейсом Layout , если это будет лучше.

...