如何改变SWT进度条的颜色?

时间:2014-04-26 10:54:25

标签: java swt progress-bar listener paintevent

是否可以使用paint listner更改进度条颜色?

我不想只是一个初始前景和一个背景颜色,但希望它能像普通的绿色进度条在Windows上工作,但具有我自己的前景和背景。

我尝试了下面的代码,但它不起作用

GC gc = event.gc;
Device device=Display.getDefault();
Color foreground = gc.getForeground();
Color background = gc.getBackground();
gc.setForeground(device.getSystemColor(SWT.COLOR_RED));
gc.setBackground(device.getSystemColor(SWT.COLOR_YELLOW));

我坚持这个要求并被告知可以使用油漆监听器,想知道如何!

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

进度条的颜色由操作系统决定。

在Windows环境中的大多数情况下,进度条将为绿色。使用setState(int state)命令将改变"状态"进度条,在某些系统下也会改变颜色 - 在Windows 7中,暂停导致黄色,错误导致红色。然而,这些状态具有其他有意义的内涵,并且对于用户而言仅仅用于颜色的风格推理可能会令人困惑。在一般意义上,你应该考虑颜色不可变。