Я пытаюсь создать поле, позволяющее выбрать некоторые переменные и изменить порядок выбранных. Таким образом, поле LEFT начинает заполняться, поле RIGHT начинает пустым. Вы перемещаете элементы слева направо, а справа вы можете переупорядочить их порядок (с помощью кнопок вверх и вниз). Это позволяет вам выбирать, какие элементы вы хотите и в каком порядке (для целей сортировки в другом разделе программы).
Макет, на который я иду, выглядит примерно так:
К сожалению, это выходит как ... хорошо ...: - (
Функциональность, я ищу все работы. Ура. Мне просто очень тяжело с макетом. Я думаю, что если я смогу достичь следующих четырех основных целей, я буду поставлен.
- Как получить кнопки «ОК» и «ОТМЕНА» внизу, а не над мультисистемой?
- Как я могу заставить мультисайт иметь заранее установленный размер (скажем ... 10)
- Как сделать так, чтобы кнопки со стрелками располагались вертикально, а не горизонтально?
- Как сделать так, чтобы кнопки со стрелками находились между двумя мультисистемами?
Я полагаю, что каждая из этих конкретных целей, вероятно, является одной линией, возможно, немного сантехники здесь и там ...
Кстати, я использую GridLayout - это может быть плохой выбор. Есть ли лучший выбор для чего-то подобного?
Без лишних слов, вот код, который генерирует этот ужасный беспорядок ...
@Override
protected Control createDialogArea(Composite parent) {
parent.getShell().setText("Multi-sort");
Composite dialogcomp = new Composite(parent, SWT.NONE);
dialogcomp.setLayout(new GridLayout(3, false));
available = new List(getShell(), SWT.BORDER | SWT.V_SCROLL);
for(String t : MultiSortDialog.availableNames) {
available.add(t);
}
used = new List(getShell(), SWT.BORDER | SWT.V_SCROLL);
for(String t : MultiSortDialog.usedNames) {
used.add(t);
}
createButton(parent, ADD, ">", false);
createButton(parent, REM, "<", false);
createButton(parent, UP, "^", false);
createButton(parent, DOWN, "V", false);
return dialogcomp;
}