我在将一个OutlinePaint设置为JFreeChart中LineAndShapeRenderer的一行时遇到了问题。
我发现这篇文章http://www.jfree.org/phpBB2/viewtopic.php?f=3&t=28347&p=78648&hilit=outlines+2d+line#p78648也描述了我的问题。
David.Gilbert写道"你必须修改LineAndShapeRenderer代码,因为现在它只是在数据点之间绘制一条线(使用seriesPaint)。"这是在2009年,我无法找到任何今天的解决方案。
是否有人知道如何修改LineAndShapeRenderer以设置线的轮廓。
谢谢你们。
答案 0 :(得分:2)
您必须覆盖drawItem()
的LineAndShapeRenderer
方法。在您的实施中,您需要使用公共访问者重新概括现有代码,如XYLineAndShapeRenderer
所示fill()
。现有的here使用图形上下文的draw()
方法来渲染形状,使用draw(line)
来描绘其轮廓;每次调用都可以有不同的绘画设置。 Stroke
没有类似的二分法,但您可以使用复合draw()
获得相似的效果,如implementation所示。
我不知道如何设置每种颜料。
从此示例开始,Line2D
Stroke
一种颜色和默认Line2D shape = new Line2D.Double(PAD, PAD, SIZE - PAD, SIZE - PAD);
g.setColor(Color.blue);
g.draw(shape);
:
draw()
并CompositeStroke
使用其他颜色的轮廓和BasicStroke s1 = new BasicStroke(16f);
BasicStroke s2 = new BasicStroke(1f);
g.setStroke(new CompositeStroke(s1, s2));
g.setColor(Color.red);
g.draw(shape);
:
PROGRAM VECT_TEST
IMPLICIT NONE
INTEGER :: L(1024)
INTEGER :: I
DO I = 1, 1024
L(I) = I
END DO
DO I = 1, 1024
L(I)=L(I) + 1
END DO
PRINT *, L
END PROGRAM
另请参阅此相关here。