Java jface'有困难;ComboViewer,需要帮助吗

Java jface'有困难;ComboViewer,需要帮助吗,java,swt,Java,Swt,我有一个Comboviewer对象,我正在为它添加一个带有两个值的列表,比如Type1和Type2 但在显示时,它显示为:[Type1,Type2] 而不是:输入1,然后在下面输入 类型2 我希望默认情况下选择第一个 我需要帮助。 感谢使用ArrayContentProvider并将ComboViewer输入设置为数组或列表以显示元素列表。在元素类型上定义toString(),或使用setLabelProvider()提供LabelProvider对象,以控制组合中每个项目显示的文本 class

我有一个Comboviewer对象,我正在为它添加一个带有两个值的列表,比如Type1和Type2

但在显示时,它显示为:[Type1,Type2] 而不是:输入1,然后在下面输入 类型2

我希望默认情况下选择第一个

我需要帮助。
感谢使用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));

ComboViewer包装的是combo小部件,但您可以使用父组合调用它,ComboViewer将为您创建一个。