FlexGantt TimelineObject颜色更改
-
06-07-2019 - |
题
我正在使用FlexGantt Javax Swing软件包( http://www.dlsc.com/ )显示一些甘特图。我遇到的麻烦是我无法弄清楚如何更改我已扩展到我自己的类中的DefaultTimelineObject的颜色。实际上,关于我看起来能够改变的唯一颜色是甘特行的背景颜色。
解决方案 2
所以我确实设法解决了这个问题。它有点复杂,或者至少对我而言,因为我并没有真正(并且仍然不太)理解FlexGantt使用的模型 - 视图 - 控制器模式。所以,这就是我们去的地方。我们需要一个扩展DefaultTimelineObjectRenderer的TimelineObjectRenderer类。该渲染器有一个返回Component的方法,名为getTimelineObjectRendererComponent。在该方法中,我需要调用方法setActivityFillColor1和setActivityFillColor2,它们是用于在项目上创建垂直混合的两种颜色。
重要的代码在这里:
public class myTimelineObjectRenderer extends DefaultTimelineObjectRenderer {
public Component getTimelineObjectRendererComponent(
setActivityFillColor1(new Color(r,g,b));
setActivityFillColor2(new Color(r,g,b));
}
} //there is other code in this class, not mentioned here
这是第一部分。
下一部分是我们将Renderer与GanttChart对象本身连接的地方,并告诉Chart在哪里找到每个项目所需的渲染器。
我用过的两行如下:
GanttChart gc = new GanttChart();
gc.getLayerContainer().setTimelineObjectRenderer(
new myTimelineObject().getClass(),new myTimelineObjectRenderer());
所以,我最终到达那里,使它工作,并且FlexGantt包的灵活性给我留下了非常深刻的印象。
其他提示
不隶属于 StackOverflow