我需要在某人的课程内绘制一些统计数据,这些数据扩展了JPanel
。目前,计划是使用paintComponent
和Graphics
类,如下所示:
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);
}
}
出于某种原因这可怕吗?更重要的是,是否有一些我可以使用但不知道的真棒,易于使用的图形库?
感谢。
答案 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)