jface的ComboViewer难度很大,需要帮助

时间:2010-02-22 14:25:08

标签: java swt

我有一个Comboviewer对象,我要为其添加一个列表,其中包含Type1和Type2两个值。

但显示它时显示为:[Type1,Type2] 而不是:Type1然后低于此                                                 TYPE2。

我想要默认选择第一个。

需要帮助。 感谢

1 个答案:

答案 0 :(得分:3)

使用ArrayContentProvider并将ComboViewer输入设置为数组或列表以显示元素列表。在元素类型上定义toString()或使用setLabelProvider()提供LabelProvider对象来控制为组合中的每个项目显示的文本。

class Type
{
    private final String    m_name;

    Type(String name)
    {
        m_name = name;
    }

    public String toString()
    {
        return "Type " + m_name;
    }
}

Type type1 = new Type("1");
Type type2 = new Type("2");
ComboViewer comboViewer = new ComboViewer(combo);
comboViewer.setContentProvider(new ArrayContentProvider());
comboViewer.setInput(new Type[] {type1, type2};
comboViewer.setSelection(new StructuredSelection(type1));