0

I have simple Gantt chart with labels inside bars, but they are not visible for subtasks.

Image: enter image description here

I have the following code:

TaskSeries s1 = new TaskSeries("Z1");
Task task = new Task("M1", new SimpleTimePeriod(0, 55));
task.addSubtask(new Task("M1a", new SimpleTimePeriod(0, 5)));
task.addSubtask(new Task("M1b", new SimpleTimePeriod(15, 25)));
s1.add(task);
TaskSeries s2 = new TaskSeries("Z2");
s2.add(new Task("M1", new SimpleTimePeriod(5, 15)));
TaskSeries s3 = new TaskSeries("Z3");
s3.add(new Task("M1", new SimpleTimePeriod(25, 35)));

TaskSeriesCollection collection = new TaskSeriesCollection();

collection.add(s1);
collection.add(s2);
collection.add(s3);
JFreeChart chart = ChartFactory.createGanttChart(
        "Gantt", "Machines",
        "Time", collection, true, false, false);
CategoryPlot plot = chart.getCategoryPlot();

CategoryItemRenderer renderer = plot.getRenderer();
renderer.setBaseItemLabelGenerator(new CategoryItemLabelGenerator() {

    @Override
    public String generateRowLabel(CategoryDataset arg0,
            int arg1) {
        return arg0.getRowKey(arg1).toString();
    }

    @Override
    public String generateLabel(CategoryDataset arg0, int arg1,
            int arg2) {
        return arg0.getRowKey(arg1).toString();
    }

    @Override
    public String generateColumnLabel(CategoryDataset arg0,
            int arg1) {
        return arg0.getColumnKey(arg1).toString();//arg0.getRowKey(arg1).toString();
    }
});
renderer.setBaseItemLabelsVisible(true);
renderer.setBaseItemLabelPaint(Color.BLACK);
renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(
        ItemLabelAnchor.INSIDE6, TextAnchor.BOTTOM_CENTER));

DateAxis axis = (DateAxis) plot.getRangeAxis();
axis.setDateFormatOverride(new SimpleDateFormat("S"));
axis.setMaximumDate(new Date(100));

ChartFrame frame = new ChartFrame("Gantt", chart);
frame.setPreferredSize(new java.awt.Dimension(500, 270));
frame.setVisible(true);
frame.setSize(750, 350);

Any ideas how to make these labels (with "Z1" string) visible?

trashgod
  • 203,806
  • 29
  • 246
  • 1,045
Wahuu
  • 1
  • 1
  • 7
  • 1
    You can take a look at [How to set Jfree GanttChart Subtasks Color and labels](http://stackoverflow.com/a/4971916/1694043) or [Text labels inside jfree Gantt chart bars](http://stackoverflow.com/a/11340137/1694043), which discuss possible solutions to add labels to sub tasks. – Freek de Bruijn Apr 25 '15 at 21:36
  • Thanks @FreekdeBruijn, In [Text labels inside jfree Gantt chart bars](http://stackoverflow.com/questions/11307070/text-labels-inside-jfree-gantt-chart-bars/11340137#11340137) I found my answer. – Wahuu Apr 27 '15 at 06:44

0 Answers0