diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/line/LineChart04.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/line/LineChart04.java index 35796a32bd113ff63c87e35880030b40be6ab6b4..9112824eaf3959ae17cc271bed02af9a092e60e7 100644 --- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/line/LineChart04.java +++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/line/LineChart04.java @@ -53,6 +53,7 @@ public class LineChart04 implements ExampleChart { series.setLineStyle(SeriesLineStyle.SOLID); series.setMarker(SeriesMarker.CIRCLE); series.setMarkerColor(SeriesColor.BLUE); + } return chart; diff --git a/xchart/src/main/java/com/xeiam/xchart/XChartPanel.java b/xchart/src/main/java/com/xeiam/xchart/XChartPanel.java index d91fe2bcd9b8fd5c23ad38fa2cc38acdfad622a7..6d2365e814a001cea0a857e1faf031f94f9c4a4d 100644 --- a/xchart/src/main/java/com/xeiam/xchart/XChartPanel.java +++ b/xchart/src/main/java/com/xeiam/xchart/XChartPanel.java @@ -88,7 +88,9 @@ public class XChartPanel extends JPanel { super.paintComponent(g); - chart.paint((Graphics2D) g, getWidth(), getHeight()); + Graphics2D g2d = (Graphics2D) g.create(); + chart.paint(g2d, getWidth(), getHeight()); + g2d.dispose(); } @Override diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickLabels.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickLabels.java index d22f8635f076cfd3a3477754ed26637e71f949ac..ebd5b079037f91d0867479a06091404625325485 100644 --- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickLabels.java +++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickLabels.java @@ -122,7 +122,8 @@ public class AxisTickLabels implements ChartPart { // g.draw(bounds); } - else if (axisTick.getAxis().getDirection() == Axis.Direction.X && getChartPainter().getStyleManager().isXAxisTicksVisible()) { // X-Axis + // X-Axis + else if (axisTick.getAxis().getDirection() == Axis.Direction.X && getChartPainter().getStyleManager().isXAxisTicksVisible()) { double xOffset = axisTick.getAxis().getPaintZone().getX(); double yOffset = axisTick.getAxis().getAxisTitle().getBounds().getY(); diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickMarks.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickMarks.java index d099a4027149af7ab0c3bec36dbaf13a380606fd..87f966dd13d488defb4b7c12e23ba71d5a6c8864 100644 --- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickMarks.java +++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickMarks.java @@ -89,7 +89,8 @@ public class AxisTickMarks implements ChartPart { } } - else if (axisTick.getAxis().getDirection() == Axis.Direction.X && getChartPainter().getStyleManager().isXAxisTicksVisible()) { // X-Axis + // X-Axis + else if (axisTick.getAxis().getDirection() == Axis.Direction.X && getChartPainter().getStyleManager().isXAxisTicksVisible()) { double xOffset = axisTick.getAxis().getPaintZone().getX(); double yOffset = axisTick.getAxisTickLabels().getBounds().getY() - getChartPainter().getStyleManager().getAxisTickPadding(); @@ -120,10 +121,9 @@ public class AxisTickMarks implements ChartPart { // Line if (getChartPainter().getStyleManager().isAxisTicksLineVisible()) { - Shape line = - new Line2D.Double(xOffset, yOffset - getChartPainter().getStyleManager().getAxisTickMarkLength(), xOffset + axisTick.getAxis().getPaintZone().getWidth(), yOffset - - getChartPainter().getStyleManager().getAxisTickMarkLength()); - g.draw(line); + g.setStroke(getChartPainter().getStyleManager().getAxisTickMarksStroke()); + g.drawLine((int) xOffset, (int) (yOffset - getChartPainter().getStyleManager().getAxisTickMarkLength()), (int) (xOffset + axisTick.getAxis().getPaintZone().getWidth()), + (int) (yOffset - getChartPainter().getStyleManager().getAxisTickMarkLength())); } } diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/ChartPainter.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/ChartPainter.java index 8242dbbf1b758dd37a139863df9348ed81cde884..48f08cc628a23fada0d768a2d70d7e2a10c94a5f 100644 --- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/ChartPainter.java +++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/ChartPainter.java @@ -109,7 +109,7 @@ public class ChartPainter { axisPair.paint(g); plot.paint(g); - // TODO why not just paint them first and skip the size hinting? + // TODO why not just paint the title first and skip the size hinting? chartTitle.paint(g); chartLegend.paint(g); diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentLineChart.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentLineChart.java index ba015102825fe973b7c4f4b7658d1724b8dbd17a..5f84e9e58330d02f8a58711ac277ed9bb813a441 100644 --- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentLineChart.java +++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotContentLineChart.java @@ -280,6 +280,7 @@ public class PlotContentLineChart extends PlotContent { } g.setClip(null); + } /** diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotSurface.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotSurface.java index f0898e869dcac336a34c0c273116ea930c3e822b..c146cf64fd6aad99971aa9da0e52c2b4b158714f 100644 --- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotSurface.java +++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotSurface.java @@ -62,6 +62,7 @@ public class PlotSurface implements ChartPart { // paint plot border if (getChartPainter().getStyleManager().isPlotBorderVisible()) { g.setColor(getChartPainter().getStyleManager().getPlotBorderColor()); + // g.setStroke(getChartPainter().getStyleManager().getAxisTickMarksStroke()); g.draw(rect); } @@ -84,6 +85,7 @@ public class PlotSurface implements ChartPart { Shape line = new Line2D.Double(bounds.getX(), yOffset, bounds.getX() + bounds.getWidth(), yOffset); g.draw(line); } + // tick marks if (getChartPainter().getStyleManager().isPlotTicksMarksVisible()) { @@ -100,11 +102,11 @@ public class PlotSurface implements ChartPart { // vertical if (getChartPainter().getStyleManager().getChartType() != ChartType.Bar - && (getChartPainter().getStyleManager().isPlotGridLinesVisible() + && (getChartPainter().getStyleManager().isPlotGridLinesVisible() - || getChartPainter().getStyleManager().isPlotTicksMarksVisible()) + || getChartPainter().getStyleManager().isPlotTicksMarksVisible()) - ) { + ) { List<Double> xAxisTickLocations = getChartPainter().getAxisPair().getXAxis().getAxisTick().getTickLocations(); for (int i = 0; i < xAxisTickLocations.size(); i++) {