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());