如何为SWT组合中的各个项目设置不同的颜色

时间:2016-02-26 12:48:49

标签: java drop-down-menu combobox swt

我在SWT中有一个Combo下拉列表,并且一直在考虑根据某些条件为列表中的不同项目设置不同的颜色。我稍后会决定(即如果字符串超过5个字符,则该项目应为红色背景,否则应为绿色)

我设法改变了整个Combo小部件的背景,但是没有注意到任何方法来改变其各个项目的背景。

Color colorGreenSWT = new Color(null, 0, 255, 0);
Combo combo = new Combo(comp, SWT.DROP_DOWN);
String[] languages = { "i", "it", "item", "items", "more_items" };
for (int i = 0; i < languages.length; i++)
    combo.add(languages[i]);
combo.setBackground(colorGreenSWT);

那么有没有方法可以为部分中的每个项目选择背景颜色?

1 个答案:

答案 0 :(得分:2)

Combo不允许这样做。星云项目有一个可能让你感兴趣的TableCombo Widget [1]。此外,SWT还有一个名为CCombo的扩展自定义组合,您可能需要查看[2]。

[1] https://eclipse.org/nebula/widgets/tablecombo/tablecombo.php

[2] http://help.eclipse.org/luna/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fapi%2Forg%2Feclipse%2Fswt%2Fcustom%2FCCombo.html