01: package com.tagtraum.perf.gcviewer;
02:
03: import javax.swing.*;
04: import java.awt.*;
05:
06: /**
07: * ChartRenderer.
08: *
09: * Date: Jun 2, 2005
10: * Time: 5:03:34 PM
11: * @author <a href="mailto:hs@tagtraum.com">Hendrik Schreiber</a>
12: */
13: public abstract class ChartRenderer extends JComponent {
14: private ModelChartImpl modelChart;
15: private boolean drawLine;
16: private Paint linePaint;
17:
18: public ChartRenderer(ModelChartImpl modelChart) {
19: this .modelChart = modelChart;
20: }
21:
22: public void setLinePaint(Paint linePaint) {
23: this .linePaint = linePaint;
24: }
25:
26: public void setDrawLine(boolean drawLine) {
27: this .drawLine = drawLine;
28: }
29:
30: public ModelChartImpl getModelChart() {
31: return modelChart;
32: }
33:
34: public void setModelChart(ModelChartImpl modelChart) {
35: this .modelChart = modelChart;
36: }
37:
38: public boolean isDrawLine() {
39: return drawLine;
40: }
41:
42: public Paint getLinePaint() {
43: return linePaint;
44: }
45:
46: protected void paintComponent(Graphics g) {
47: super .paintComponent(g);
48: Graphics2D g2d = (Graphics2D) g;
49: Paint oldPaint = g2d.getPaint();
50: Object oldAAHint = g2d
51: .getRenderingHint(RenderingHints.KEY_ANTIALIASING);
52: if (modelChart.isAntiAlias())
53: g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
54: RenderingHints.VALUE_ANTIALIAS_ON);
55: paintComponent(g2d);
56: g2d.setPaint(oldPaint);
57: g2d
58: .setRenderingHint(RenderingHints.KEY_ANTIALIASING,
59: oldAAHint);
60: }
61:
62: public abstract void paintComponent(Graphics2D g2d);
63:
64: }
|