我正在开发一个视觉排序算法项目,我正在JPanel中绘制它们:
public void paint(Graphics g) {
super.paint(g);
g.setColor(Color.WHITE);
for (int i = 0; i < array.length; i++) {
g.fill3DRect(i * barWidth, height, barWidth, -array[i], true);
}
g.dispose();
}
我编译了我的程序并在我的Windows 7计算机上运行了jar,我正确地绘制了条形图:
good http://s15.postimage.org/n3crlmpmz/good.png
我在另一台Windows 7计算机和Mac上进行了测试,并且错误地绘制了条形码:
bad http://s18.postimage.org/7db11akll/bad.png
为什么会这样?我该如何解决这个问题?
答案 0 :(得分:3)
g.dispose();
仅在代码创建的图形实例上调用dispose()
。这个是由JRE提供的。