如何使用 Java SWT .setBackground() 方法

How to use Java SWT .setBackground() method

我正在尝试学习如何使用 Java 和 Java SWT 库,但是,我找不到任何可以更改 shell 背景颜色的东西。到目前为止,这是我的代码:

Display display = new Display();
Shell shell = new Shell(display);
shell.setBackground(SWT.COLOR_BLACK);

然而,这总是会引发一个问题。这是最好的方法吗?如果是,我该如何让它发挥作用。或者有没有更好的方法,如果有,是什么?

setBackground 是用于设置背景颜色的正确 API。

但是,添加到 shell 的控件通常不会继承背景色,因此 shell 背景可能会被隐藏。您可以使用 setBackgroundMode API:

更改此行为
shell.setBackground(display.getSystemColor(SWT.COLOR_BLACK));

shell.setBackgroundMode(SWT.INHERIT_DEFAULT);

另请注意,如果您的代码是 Eclipse 插件的一部分,则 Eclipse CSS 样式可能会覆盖颜色。