在一个界面中一开始只是用  JTable jt = new JTable() 来初始化,之后通过调用,按下一个按钮之后要让数据显示在表中,并用 jt = JTable(Object[][] rowData, Object[] columnNames) 来再次生成新的实例,但是显示不出来
请问该怎么解决呢????谢谢

解决方案 »

  1.   

    原因是你按下按钮后虽然jt指向了JTable(Object[][] rowData, Object[] columnNames),但是你安装在窗体里的JTable依然是原来初始化时的new JTable(),所以当然不显示数据。
    这种情况最好通过getModel方法返回TableModel来设置数据,或者自己实现一个TableModel。
    当然你的问题这样就能解决了:
    TableModel model = new DefaultTableModel(Object[][] rowData, Object[] columnNames);
    jt.setModel(model);
      

  2.   

    原先创建的jt对象,其引用被指向了新创建的那个对象,此时表格的内部模型已经变化。
    试试加一句:jt.update()或者jt.repaint()刷新一下jt表格对象。
      

  3.   

    操作JTable数据最好是对表模型(TableModel)进行.
    如果数据量比较大的话,可以先创建好TableModel,然后把数据一次性加入到TableModel中去
    再调用jtable.setModel(tableModel)方法。
      

  4.   

    用updateUI()试试,当然用树模型也可以