2010-02-22 2 views
3

У меня есть объект Comboviewer, для которого я добавляю список с двумя значениями, например Type1 и Type2.Сложность с ComboViewer от jface, нужна помощь

Но при отображении это отображается как: [Тип1, Тип2] вместо: Тип1, затем ниже этого Тип2.

И я хочу, чтобы первый был выбран по умолчанию.

нужна помощь. thanks

ответ

3

Используйте ArrayContentProvider и установите вход ComboViewer в виде массива или списка, чтобы отобразить список элементов. Определите toString() для типа элемента или предоставите объект LabelProvider с помощью setLabelProvider() для управления текстом, отображаемым для каждого элемента в комбо.

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)); 
+0

благодаря Кире, Но что это комбо здесь – GuruKulki

+0

Это комбинированный виджет, который обертывание ComboViewer, но вы могли бы назвать его с родительским композитом и ComboViewer создаст для вас. –

Смежные вопросы