【发布时间】:2014-06-12 03:44:18
【问题描述】:
是否可以使用绘制侦听器更改进度条颜色?
我不想要一个初始前景色和背景色,而是希望它像正常的绿色进度条在 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));
我坚持这个要求,并被告知可以使用绘制侦听器,想知道如何!
任何帮助将不胜感激。
【问题讨论】:
-
因此,如果您不想完全自己绘制进度条,则无法更改进度条的外观。如果你真的很绝望,你可以通过 SWT/AWT 桥使用
JProgressBar。 -
如果你只是使用windows(vista或以上),你可以使用
ProgressBar的不同风格(红、绿、黄),可以看到here。 -
谢谢 Baz。我知道这些基于状态的颜色,我的应用程序旨在跨平台运行,并且需要具有前景色/背景色的白色/灰色组合。为什么我们不能使用相同的代码来根据状态将颜色更改为红色、绿色、黄色,以及我们选择的某种颜色?如果那个黑客是可能的。让我知道你的意见。谢谢
-
您不能使用该机制,因为这三种颜色是唯一由操作系统定义的颜色。
标签: java swt progress-bar listener paintevent