你为什么在run()方法里Jperformypanel=new JPerformYPanel(newData,dataCut,value1,value2);新建实例?
例如:
在JPerformYPanel写一个void PerformYPanel(newData,dataCut,value1,value2);
在run()方法里调用Jperformypanel.JPerformYPanel(newData,dataCut,value1,value2);
试试。

解决方案 »

  1.   

    这么巧,我也做了一个二维坐标系里动态将数据转化成曲线的程序。我没仔细看你的程序,我想应该差不多。我的repaint()工作很正常,但是令人讨厌的是,每当它的一部分被别的窗体盖住后它自动在那里傻乎乎地REPAINT。闪得我心烦。我不知道该如何禁止它这样做。
      

  2.   

    我的问题解决了,至于你老G的问题也是我的心病呀!啊乙~~~~~都急到一起去了嘛!:)实际那种重绘我估计是没有的办法控制的,因为就说那个JSCROLLPANE吧~它自身就带有重绘的功能,只要一移动滚动条,就要重绘,你说我能控制它吗~除非把SUN公司的JSCROLL的类解包后,在重新写一个符合自己的扩展类!那不是给自己找麻烦嘛!算了,除非还有什么我不知道的高招,就等GG们指教小M拉~~~~~~~~~~:)
      

  3.   

    使用双缓冲解决闪烁问题,repaint要重载为直接调用paint。
      

  4.   

    首先程序当中有一个数据处理错误,不过这不是影响不能调用REPAINT()方法的原因。问题是出在我在重新输入新数据时,即开启线程调用RUN()方法时,在循环中不能每次都Jperformypanel=new JPerformYPanel(newData,dataCut,value1,value2)这样NEW一次,而是因该在JPerformYPanel中再写一个updateValue()方法,在原来NEW的地方换成调用Jperformypanel.updateValue(newData,dataCut,value1,value2)即可。至于为什么原理,我也说不清楚,反正这样就可以了。你知道是为什么吗?如果知道,别忘了告诉MM哦~:)回见!updateValue()方法如下:public void updateValue(String newData,int dataCut,double value1,double value2)
         {
               this.newData=newData;
                 this.dataCut=dataCut;
                 this.value1=value1;
                 this.value2=value2;
           dataCut(newData);
           this.repaint();
           
          }
      

  5.   

    是啊?我无聊啊! :( 
    我不明白什么叫显示几个接口,接口指什么?
    你做的是实时的?用什么?RMI?我这个实时性没有那么强。因为数据太多而且数值都是DOUBLE的,计算量太大,我的机子好辛苦,我都心疼。
      

  6.   

    哦,你是这样的。我不是这样的,我的数据是统一的。任何客户端发出请求都会得到统一数据。客户端定时更新。当用户QUERY不同的数据时,分析结果更新,发向客户端,一旦数据有变动,分析结果就会变动,但是不是很实时,有一段间隔时间就去服务器端查询一次。我不太清楚你做的系统。我的系统显示的数据与这个对象的连接数量没有关系,只和它所做的查询有关。这个对象的并发性我没有测试过。