现在我已经把图画出来了 在TableFolder上
它是动态的在走
不过现在我一最小化或者 换点一下另外一个TableFolder 再换回来的时候就又从头开始画了
 怎么设置成保留我当前的状态 下次触发时还显示呢 而不是每次都从头开始画
不知道我表达清楚没 多谢了先 我急需解答

解决方案 »

  1.   

    我遇到过这样的问题。当画面被遮掩或最小化后,重新表示的时候,会自动调用画面的repaint方法,从而会调用到paint(Graphics g)这个方法,这是就要看你的paint方法是怎么实现的了,如果只是即时取得数据即时描画,就会出现你所说的问题,解决的办法就是将你当前画面需要表示的图形数据完全保存的数组或list中,而在paint方法中描绘图像时,从这个对象中取数据,当前一屏描绘完毕后,再将数组清空,重新存储下一屏的数据。JDK所带的画图例子中就有类似代码,看看也行。
      

  2.   

    不好意思啊 ,能否说的明白点儿
    我是这样实现的
    生成一个cavans
    cavans.addPanitListener{
    gc.drawRextance();

    Timer timer = new Timwe(true);
    timer.schledu(new TimeTask(){
    public void run(){
      gc.drawLine();
    },0,1*1000);我是先画一个矩形,设置一个定时器,一秒钟画一条直线,这样看起来图象就是动态的嘛
    我下面画动态直线时没有加paintListener。直接画的,是不是因为这才会出现我说的现象啊我没有用paint 用的是SWT的GC
      

  3.   

    也就是说你每次画线的坐标你都应该知道的,那么把每次画线的坐标保存起来,画线的时候都是从保存的数据中取得。我用的都是swing,不知道swt是不是也一样。