SWT Java:如何更改标签控件中文本的颜色?

发布于 2024-12-09 14:15:44 字数 353 浏览 1 评论 0原文

我知道如何更改大小、样式,但如何在标签控件中设置文本颜色?这是到目前为止我的代码:

Label myLabel = new Label(shell, SWT.NONE);
myLabel.setText("some text that needs to be for example green");
FontData[] fD = myLabel.getFont().getFontData();
fD[0].setHeight(16);
fD[0].setStyle(SWT.BOLD);
myLabel.setFont( new Font(display,fD[0]));

我看到 FontData 类中没有颜色属性。

I know how to change size, style but how can I set colour of text in Label control? Here is my code so far:

Label myLabel = new Label(shell, SWT.NONE);
myLabel.setText("some text that needs to be for example green");
FontData[] fD = myLabel.getFont().getFontData();
fD[0].setHeight(16);
fD[0].setStyle(SWT.BOLD);
myLabel.setFont( new Font(display,fD[0]));

I see there is no colour property in FontData class.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

深海少女心 2024-12-16 14:15:44

确保不混合 SWT 和 AWT 颜色,并且如果构建 Color 对象,请确保将其释放。你想要类似的东西:

final Color myColor = new Color(getDisplay(), 102, 255, 102);
myLabel.setForeground(color);
myLabel.addDisposeListener(new DisposeListener() {
    public void widgetDisposed(DisposeEvent e)
    {
        myColor.dispose();
    }
});

或者你可以只使用内置的系统颜色:(

myLabel.setForeground(getDisplay().getSystemColor(SWT.COLOR_GREEN));

不要处置系统颜色。)

Make sure you don't mix SWT and AWT colors, and if you build a Color object, make sure you dispose it. You want something like:

final Color myColor = new Color(getDisplay(), 102, 255, 102);
myLabel.setForeground(color);
myLabel.addDisposeListener(new DisposeListener() {
    public void widgetDisposed(DisposeEvent e)
    {
        myColor.dispose();
    }
});

Or you can just use the built-in system colors:

myLabel.setForeground(getDisplay().getSystemColor(SWT.COLOR_GREEN));

(Do not dispose the system colors.)

绮筵 2024-12-16 14:15:44
myLabel.setForeground(Color fg).

color :Color 类用于封装默认 sRGB 颜色空间中的颜色或由 ColorSpace 标识的任意颜色空间中的颜色。

有关详细信息:请参阅此

对于绿色,它会类似于:myLabel.setForeground(new org.eclipse.swt.graphics.Color(getDisplay(), 102, 255, 102));

myLabel.setForeground(Color fg).

color : The Color class is used to encapsulate colors in the default sRGB color space or colors in arbitrary color spaces identified by a ColorSpace.

For more information : see this

For green it'd be something like : myLabel.setForeground(new org.eclipse.swt.graphics.Color(getDisplay(), 102, 255, 102));

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文