zhangliahu 2015-10-15 08:45
浏览 1212

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);
            }



  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 Arduino红外遥控代码有问题
    • ¥15 数值计算离散正交多项式
    • ¥30 数值计算均差系数编程
    • ¥15 redis-full-check比较 两个集群的数据出错
    • ¥15 Matlab编程问题
    • ¥15 训练的多模态特征融合模型准确度很低怎么办
    • ¥15 kylin启动报错log4j类冲突
    • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
    • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序
    • ¥15 onvif+openssl,vs2022编译openssl64