以这种方式为JPanel制作图表是否可以接受?

时间:2011-07-30 14:10:41

标签: java swing graphics graph paintcomponent

我需要在某人的课程内绘制一些统计数据,这些数据扩展了JPanel。目前,计划是使用paintComponentGraphics类,如下所示:

public void paintComponent(Graphics g) {
    super.paintComponent(g);

    //create a rectangle to represent the outline of the graph
    g.drawRect(300, 50, 400, 350);

    //set up the datapoints
    for(int i = 0; i < data.size(); i++) {
        //put the datapoints where ever they need to go within this rectangle
        g.drawOval(x, y, width, height);
    }
}

出于某种原因这可怕吗?更重要的是,是否有一些我可以使用但不知道的真棒,易于使用的图形库?

感谢。

2 个答案:

答案 0 :(得分:3)

除了将你的x和y点放在

之外,你的代码看起来还不错
for(int i = 0; i < data.size(); i++) {
    g.drawOval(data.get(i).getX() - width/2, data.get(i).getY() - height/2, 
      width, height);
}

这样椭圆就会居中。

此外,您可能需要考虑转换数据,使得绘制的点保持在图形的域和范围的边界内。否则你可能在矩形之外有椭圆。

您可能想要查看JFreeChart以获取图形库。

答案 1 :(得分:3)