代码之家  ›  专栏  ›  技术社区  ›  GuruKulki

难以使用JFace的精梳机,需要帮助

  •  3
  • GuruKulki  · 技术社区  · 15 年前

    我有一个Comboviewer对象,我要为它添加一个列表,其中有两个值,如type1和type2。

    但显示时显示为:【类型1,类型2】 而不是:输入1,然后在下面输入 类型2。

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

    需要帮助。 谢谢

    1 回复  |  直到 11 年前
        1
  •  3
  •   user3271651 Kire Haglin    11 年前

    使用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));