我现在也有这样的问题,使用JTable在Applet中,使用
jtable.getModel().setValueAt("New Data",1,1);
更新第一行第一列的数据为“New Data”,但是却没有成功,我Debug看了,tablemodel中的数据应该是修改了的。但是在Applet界面上就是不更新,还是旧的数据,只有等applet最小化在打开等操作之后才能够看到新的数据。
真实郁闷了。

解决方案 »

  1.   

    必要的时候刷新一下界面啊
    updateUI()
      

  2.   

    回复人: dlglmf(雨魂) ( ) 信誉:100  2004-09-19 00:09:00  得分: 0  
     
     
       必要的时候刷新一下界面啊
    updateUI()
      
     可否解释一下?
      

  3.   

    在一个JPanel里覆盖
    paintComponent(Graphics g)
    然后在里面画些图片,当下次调用repaint的时候发现有些图片被画了两次。原因:Container 类被显示之前,所有组件都已添加到其中,如果在已显示的Componet中添加修改或移动组件,这些该变虽repaint也不会自动在Componet中反映出来的!
    应该用Container类的validate()方法实现,还有在validate前还应先Container.invalidate()通知容器需更新;
      

  4.   

    感谢hpy121(孩子)的指导,不过..........没看懂!!!!-_-||||
    Container 类被显示之前,所有组件都已添加到其中,如果在已显示的Componet中添加修改或移动组件,这些该变虽repaint也不会自动在Componet中反映出来的!
    我只是用paintComponent画图片,没有改变组件啊!validate方法到底起一个什么作用呢?invalidate()方法又是通知容器需更新什么呢?