2014-11-04 131 views
3

我想在Eclipse RCP应用程序中使用只读组合下拉列表,但当设置只读标志时,背景始终保持灰色。这是我的代码:SWT Combo只读模式背景颜色

Combo combo = new Combo(fCompositeLogin_1, SWT.READ_ONLY); 
    combo.setBackground(SWTResourceManager.getColor(SWT.COLOR_WHITE)); 
    combo.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false, 2, 1)); 
    for(String i : items) { 
     combo.add(i); 
    } 
    combo.select(0); 

我想要白色背景,我该怎么做?

通过包装组合白色的复合材料内,设定合成的继承模式迫使谢谢

+3

看起来像本地控制设置这种颜色和SWT没有任何改变它。 'CCombo'控件确实从'setBackground'设置下拉列表颜色。 – 2014-11-04 09:46:02

回答

1

这是可能的。

Composite composite = new Composite(parent, SWT.NONE); 
composite.setBackground(SWTResourceManager.getColor(SWT.COLOR_WHITE)); 
composite.setBackgroundMode(SWT.INHERIT_FORCE); 
comboCombo = new Combo(composite, SWT.READ_ONLY); 
+0

建议的解决方案在Windows上不起作用。看到这里可能的解决方法:http://stackoverflow.com/questions/41340605/set-color-for-swt-combo/41341967#41341967 – 2016-12-27 12:58:41