我可以用Java为figureCanvas绘制渐变背景吗
我想为一个人物画一个渐变背景。不幸的是,适用于复合材料或类似产品的代码不适用于我的FigureCanvas。当它在我的合成图上形成一个完美的渐变背景时,它只是简单地将一种颜色作为我的FigureCanvas的背景 下面是它如何与我的所有其他控件一起工作的一个片段我可以用Java为figureCanvas绘制渐变背景吗,java,gradient,draw2d,Java,Gradient,Draw2d,我想为一个人物画一个渐变背景。不幸的是,适用于复合材料或类似产品的代码不适用于我的FigureCanvas。当它在我的合成图上形成一个完美的渐变背景时,它只是简单地将一种颜色作为我的FigureCanvas的背景 下面是它如何与我的所有其他控件一起工作的一个片段 Rectangle rect = parent.getClientArea(); Image newImage = new Image(parent.getDisplay(), 1, Math.max(1, rect.height));
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);
我是不是遗漏了什么?或者,如果不覆盖或扩展某些内容,这是不可能的,如果是,什么??我还尝试使用与另一个合成图相同的背景图像,效果很好
谢谢你的回答 原来问题不在于FigureCanvas本身,而是GEF在其他地方过度编写了它