FlexGantt Javax Swingパッケージ(http://www.dlsc.com/)を使用して、いくつかのガントチャートを表示しています。私が抱えている問題は、自分のクラスに拡張したDefaultTimelineObjectの色を変更する方法がわからないことです。実際、私が変更できると思われる色は、ガント行の背景色の色だけです。
2 に答える
この質問は、FlexGanttニュースグループ(http://groups.google.com/group/flexgantt )に投稿する必要があります。
よろしく、
Dirk(FlexGantt作者)
だから私はこれを理解することができました。FlexGantt で使用される Model-View-Controller パターンをよく理解していなかった (そして今でも完全には理解していない) ため、これはちょっと複雑です。少なくとも私にはそうでした。では、ここからです。DefaultTimelineObjectRenderer を拡張する TimelineObjectRenderer クラスが必要です。そのレンダラーには、getTimelineObjectRendererComponent というコンポーネントを返すメソッドがあります。そのメソッドでは、setActivityFillColor1 と setActivityFillColor2 のメソッドを呼び出す必要がありました。これらは、アイテムの垂直方向のブレンドを作成するために使用される 2 つの色です。
重要なコードは次のとおりです。
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 に各項目に必要な Renderer を見つける場所を伝えるところです。
そのために使用した2行は次のとおりです。
GanttChart gc = new GanttChart();
gc.getLayerContainer().setTimelineObjectRenderer(
new myTimelineObject().getClass(),new myTimelineObjectRenderer());
それで、私は最終的にそこにたどり着き、それを機能させ、FlexGantt パッケージの柔軟性に非常に感銘を受けました。