2

我需要在某人的类中绘制一些统计数据,这些数据扩展了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);
    }
}

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

谢谢。

4

2 回答 2

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 以了解图形库。

于 2011-07-30T14:15:13.047 回答
3

考虑JFreeChart

这是JFreeChart 的 Javadoc

于 2011-07-30T14:16:30.927 回答