JFreeChart - ändern SeriesStroke der chart-Linien vom festen in den gestrichelt in einer Zeile

Die Antwort hier akzeptiert (JFreechart(Java) - gewusst Wie: zeichnen von Linien, die teilweise gestrichelte Linien und teilweise durchgezogene Linien?) hat mir geholfen, beginnen Sie den Pfad zu ändern meine seriesstroke Linien in meinem chart. Nachdem wir durch meinen code und beobachten Sie die Veränderungen, die ich sehe, dass meine seriesstroke, hat in der Tat zu ändern "dashedStroke", wenn es soll (nach einem bestimmten Datum "dashedAfter"), aber beim Rendern des Diagramms werden die gesamte Serie Linie ist gestrichelt. Wie kann ich eine Serie Linie gezeichnet werden, der solide auf den ersten und schoss nach einem Datum?

/* series line modifications */
final Number dashedAfter = timeNowDate.getTime();

XYLineAndShapeRenderer render = new XYLineAndShapeRenderer() {
  Stroke regularStroke = new BasicStroke();
  Stroke dashedStroke = new BasicStroke(
                            1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND,
                            1.0f, new float[] {10.0f, 6.0f}, 0.0f );
  @Override
  public Stroke getItemStroke(int row, int column) {
    Number xVal = cd.getXValue(row, column);
    if (xVal.doubleValue() > dashedAfter.doubleValue()) { 
      return dashedStroke; 
    } else { 
      return regularStroke; 
    }
  }
};
render.setBaseShapesVisible(false);
render.setBaseShapesFilled(true);
render.setDrawSeriesLineAsPath(true);
plot.setRenderer(render);
Schreibe einen Kommentar