【发布时间】:2012-01-23 00:51:48
【问题描述】:
我正在尝试制作一个框,让您可以选择一些变量,并重新排序已选择的变量。所以左框开始填充,右框开始为空。您将项目从左向右移动,在右侧您可以重新排列它们的顺序(使用向上和向下按钮)。这使您可以选择您想要的项目以及按什么顺序(用于在程序的另一部分进行排序)。
我想要的布局如下所示:
不幸的是,它的出现就像......好吧...... :-(
我正在寻找的所有功能都有效。耶。我只是很难与布局。我想如果我能达到以下四个主要目标,我就会确定。
- 我怎样才能在底部而不是在 multis 上方获得 OK 和 CANCEL 按钮?
- 我怎样才能让 multis 具有预设的尺寸(比如说... 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;
}
【问题讨论】: