3

5 つのタスクを含むガント チャートがあります。各タスクは 3 つのサブタスクに分かれています。サブタスクごとに異なる色を定義する必要があります。たとえば、サブタスク 1:「水色」、サブタスク 2:「青」、サブタスク 3:「濃い青」などです。いくつかの例をグーグルで検索しようとしましたが、完全に機能する例は見つかりませんでした。ありがとう。

Update#1: データセットに IntervalCategoryDataset を使用しています。

IntervalCategoryDataset dataset = createDataset(data);

final Task t = new Task("Resource " + i, date(time11), date(time14));
t.addSubtask(new Task("Resource " + i, date(time11), date(time12)));
t.addSubtask(new Task("Resource " + i, date(time12), date(time13)));
t.addSubtask(new Task("Resource " + i, date(time13), date(time14)));
4

1 に答える 1

3

here でgetItemPaint()説明されているように、レンダラーのメソッドをオーバーライドできます。

補遺: グナット チャートは を使用するためGanttRenderer、既存の色を表示するには次のようにします。特定の行と列に対して選択した色を返すだけです。

plot.setRenderer(new MyRenderer());
...
private static class MyRenderer extends GanttRenderer {

    @Override
    public Paint getItemPaint(int row, int col) {
        System.out.println(row + " " + col + " " + super.getItemPaint(row, col));
        return super.getItemPaint(row, col);
    }
}
于 2012-01-18T19:56:51.080 に答える