質問

FlexGantt Javax Swingパッケージ( http://www.dlsc.com/ を使用しています)ガントチャートを表示します。私が抱えている問題は、自分のクラスに拡張したDefaultTimelineObjectの色を変更する方法がわからないことです。実際、変更できると思われる色は、ガントの行の背景色のみです。

役に立ちましたか?

解決 2

だから、私はなんとかこれを理解しました。 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

これが最初の部分です。

次の部分は、そのレンダラーをGanttChartオブジェクト自体に接続し、各アイテムに必要なレンダラーを見つける場所をChartに指示する部分です。

そのために使用した2行は次のとおりです。

GanttChart gc = new GanttChart();
gc.getLayerContainer().setTimelineObjectRenderer(
          new myTimelineObject().getClass(),new myTimelineObjectRenderer());

だから、私は最終的にそこに着き、それを機能させ、FlexGanttパッケージの柔軟性に非常に感銘を受けました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top