我在java中有自定义绘制方法
@Override
public void paint(Graphics g) {
super.paintComponents(g);
Graphics2D g2 = (Graphics2D) buffer.getGraphics();
g2.setColor(java.awt.Color.WHITE);
g2.fillRect(0, 0, jPanel1.getWidth(), jPanel1.getHeight());
//paint some custom graphic forms
g2 = (Graphics2D) jPanel1.getGraphics();
g2.drawImage(buffer, 0, 0, jPanel1.getWidth(), jPanel1.getHeight(), null);
}
当用户拖动鼠标时,我更新图形表格的位置并调用
重绘(); 在方法的最后
我的问题是表单更新正确,但有一个烦人的电影。我怎么解决这个电影?提前谢谢
答案 0 :(得分:0)
如果没有看到更多代码,最好是minimal compilable, runnable example program or MCVE,我就不可能很好地回答这个问题,但我可以提出建议:
super.paintComponent
,这是一个非常危险的事情。getGraphics()
。ID Name DE1 DN1 DE2 DN2 DE3 DN3
88637 Zack Fay -0.026841782 -0.071375637 0.160878583 -0.231788845 0.191811833 0.396593863
88687 Victory Greenfelder 0.219394372 -0.081932907 0.053054879 -0.048356016
88737 Lynnette Gorczany 0.043632299 0.118916157 0.005488698 -0.268612073
88787 Odelia Tremblay PhD 0.083147337 0.152277791 -0.039216388 0.469656787 -0.21725977 0.073797219
获得的Graphics对象,因为这会为您提供一个短暂的对象,这可能会使您的图像消失或更糟,抛出NullPointerException。答案 1 :(得分:-2)
只需使用此重绘:
重绘(0,0,1,1);
而不是你的