我可以在Java中为figureCanvas绘制渐变背景吗?

时间:2014-07-07 15:28:15

标签: java gradient draw2d

我想为FigureCanvas绘制渐变背景。不幸的是,适用于Composites或similars的代码对我的FigureCanvas不起作用。它在我的Composite上创建了一个完美的渐变背景,它只是将一种颜色作为我的FigureCanvas的背景。

以下是我所有其他控件的工作原理。

Rectangle rect = parent.getClientArea();
Image newImage = new Image(parent.getDisplay(), 1, Math.max(1,
rect.height));
GC gc = new GC(newImage);
gc.setForeground(composite.getDisplay().getSystemColor(SWT.COLOR_WHITE));
gc.setBackground(composite.getDisplay().getSystemColor(SWT.COLOR_BLUE));
gc.fillGradientRectangle(0, 0, 1, rect.height, true);
gc.dispose();
composite.setBackgroundImage(newImage);

我在这里遗漏了什么吗?或者,如果没有覆盖或扩展某些内容(如果是这样的话),这是不可能的?我也试过使用相同的backgroundImage,因为它有另一个复合材料,它可以正常工作。

感谢您的回答!

1 个答案:

答案 0 :(得分:0)

事实证明问题不在于FigureCanvas本身,而是GEF在其他地方覆盖了它。