快点帮忙吧,我郁闷了好久了,数据是通过通信传过来,所以需要动态滚动显示,既不停刷新显示,给出代码或例子好吗,给出点指点也可以,刚学swing没有思路!!大虾帮忙吧!!

解决方案 »

  1.   

    DefaultTableModel tm = (DefaultTableModel)table.getModel();当收到数据时:
    Object[] rowData = new Object[colCount];rowData[0] = ...;
    rowData[1] = ...;
    ...tm.insertRow(0, rowData);
      

  2.   

    JTable table;
    table.UIUpdate()即可
      

  3.   

    呵呵~~~楼上的把方法名写颠倒了table.updateUI();
      

  4.   

    用观察者模式是最好的。   自己定义一个TableModel的子类,实现Observer接口。
    另一个联系Socket取数据的Model继承Observable.
       然后,tABLEModel注册到那个Model上即可。
      

  5.   

    这样,接受Socket传来数据的JavaBean类的数据发生变化,TableModel对象的数据也会改变。
        而这就会激发一个事件给JTable组件, 组件会自动更新视图,  无需整个的刷新, 一切都是全自动完成的。
      

  6.   

    Object[][] cells=通信传来的数据;
     DefaultTableModel tableModel_mx;
     JTable table; 
     tableModel_mx= new DefaultTableModel(cells,columnNames);
     table = new JTable(tableModel_mx); 用个frame加个滚动框加table,就能显示数据了 再让每次通信数据来激发个事件, table.updateUI(); 或者tableModel_mx.fireXXXX
      

  7.   

    如楼上所说直接调用 tablemodel.firexxx 方法就可以更新数据了,只要设计一个监听器监听一下数据是否有更新就行了,如果感觉监听器不好做,就直接用定时器
      

  8.   

    直接在table的数据模型里面提供这样的逻辑就可以了