问题描述
- java swt canvas.redraw 画图问题
-
java swt canvas.redraw 画图问题
最新再用Java swt做桌面应用程序。,遇到一个小问题
问题描述:在地图上标记移动物体的位置,实际上就输在canvas中的图片上画点;由于是移动物体,所以位置时时刻刻都在变动,当把当前时刻物体绘制到canvas中的时候,就需要考虑下一次绘制,这时候我用的是canvas.redraw()来重新加载地图(图片),然后再把物体的绘制上去,这个过程就是用来刷新移动物体在地图上的位置的。问题来了,按照这个方法实际上是绘制的结果一闪而过,新的位置并没有显示到redraw之后的地图上。 求大神解答! 小弟特别感谢!canvas.addPaintListener(new PaintListener(){ @Override public void paintControl(PaintEvent e) { e.gc.drawImage(image, 0, 0); drawGridLine(); } });
//程序某处 使用到canvas.redraw(); for(int j=0; j<aList.size(); j++) { canvas.redraw(); Point aPoint = (Point) aList.get(j); gc.drawImage(imageDot, 0, 0, 54, 53, (int)(aPoint.getX())-5, (int)(aPoint.getY())-5, 10, 10); }
时间: 2024-12-05 21:12:09