我正在开发一个视觉排序算法项目,我正在 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,并且正确绘制了条形图:
我在另一台 Windows 7 计算机和 Mac 上对此进行了测试,它错误地绘制了条形:
为什么会发生这种情况?我该如何解决这个问题?
最佳答案
g.dispose();
仅对您的代码创建的图形实例调用dispose()
。这个是由 JRE 提供的。
关于java - 为什么 fill3DRect 在我自己的计算机之外的其他计算机上无法正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12223789/