Java 是否可以通过编程方式更改渲染器?
我想创建一个饼图,将线段标签呈现在两行上 为此,我必须重写Java 是否可以通过编程方式更改渲染器?,java,android,androidplot,Java,Android,Androidplot,我想创建一个饼图,将线段标签呈现在两行上 为此,我必须重写pierender.drawsectLabel(),但我不知道如何将渲染器类设置为PieChart对象 我找到了一个pie.getRenderer(PieRenderer.class),来获取渲染器,但没有找到任何方法来设置它。有没有办法将我的渲染器设置为PieChart?我不想和AndroidPlot的线人合作 (Androidplot版本:0.6.1)实际上是格式化程序告诉Androidplot在绘制时使用哪个渲染器;添加段/系列时,
pierender.drawsectLabel
(),但我不知道如何将渲染器类设置为PieChart
对象
我找到了一个pie.getRenderer(PieRenderer.class)
,来获取渲染器,但没有找到任何方法来设置它。有没有办法将我的渲染器设置为PieChart
?我不想和AndroidPlot的线人合作
(Androidplot版本:0.6.1)实际上是格式化程序告诉Androidplot在绘制时使用哪个渲染器;添加段/系列时,始终随附格式设置程序的实例。您需要像这样扩展SegmentFormatter:
/**
* Formatter used by MyPieRenderer to draw a segment.
*/
class MySegmentFormatter extends SegmentFormatter {
@Override
public Class<? extends SeriesRenderer> getRendererClass() {
return MyPieRenderer.class;
}
@Override
public SeriesRenderer getRendererInstance(final PieChart plot) {
return new MyPieRenderer(plot);
}
}
你的答案差不多满了,但让我扩展一下你的答案。如果不扩展
getRenderInstance
,则不会为我渲染绘图。(见:)哎呀,你完全正确!真不敢相信我漏掉了。我不知道为什么那些评论员拒绝了你的编辑,但我会用更正更新我的答案:)
pie.addSeries(series, new MySegmentFormatter());