更改swt下拉列表元素顺序

时间:2013-01-31 10:58:37

标签: java swt jface

我是SWT的新手,有一个项目要求我在下拉列表中更改元素的顺序,该列表包含数据库中的数据库存,这是按订单字母排序的,而我想更改下拉列表中元素的顺序,有人可以告诉我下拉列表如何从数据库中获取数据列表以及如何更改顺序?非常感谢你。

这里是创建对象的代码,我想知道如何更改列表的顺序。谢谢。

public final Object[] getElements(final Object inputElement) {
    if (inputElement != null) {
        if (inputElement instanceof Test) {
            return getTest((EngdynoRequest) engDynoRequest).toArray();
        }
    }
    return null;
}

4 个答案:

答案 0 :(得分:0)

制作您自己的对象列表,然后您可以按照您需要的任何方式对其进行排序,之后您可以使用有序元素制作下拉列表。

答案 1 :(得分:0)

如果您已正确找到用于填充组合框的方法,则可以在此处对对象列表进行排序。

return getTest((EngdynoRequest) engDynoRequest).toArray();

可以替换为

Object[] unsorted = getTest((EngdynoRequest) engDynoRequest).toArray();
return Arrays.sort(unsorted);

如果您想要自定义排序顺序,您可以通过自己的比较器 Arrays.sort

答案 2 :(得分:0)

ComboViewer上有几种方法可供您查看

StructuredViewer.java

public void setComparer(IElementComparer comparer) 

public void setComparator(ViewerComparator comparator)

public void setSorter(ViewerSorter sorter)

答案 3 :(得分:0)

这可能更易于理解:

      // Re-sort
      String[] items = combo.getItems();
      Arrays.sort(items);
      combo.setItems(items);