对不起,后一段代码上面那句应为:“在另一个文件中把这个Panel加入到一个Frame中:”。

解决方案 »

  1.   

    我想应该是把内容重新写一遍到tablemodel里。
      

  2.   

    谢谢 lighthead 兄指教!能说的详细点吗?
    我的tableModel是这样的:
    class ResultSetTableModel extends AbstractTableModel{
       public ResultSetTableModel(String keyWord) throws SQLException {
         ....
       }
    }即根据构造函数的参数keyWord在构造函数中构造出一查询数据库的sql语句,再由由此sql语句得到的ResultSet构造出ResultSetTableModel ,那么我怎么刷新这个ResultSetTableModel ?象下面这样改造上面第一段代码行不行?public class ShowTablePanel extends JPanel{
      
      private ResultSetTableModel tableModel;
      
      public ShowTablePanel(String keyWord){    tableModel = new ResultSetTableModel(keyWord);/////
        JTable table = new JTable(tableModel);
        this.add(new JScrollPane(table));
      }  //增加一个刷新的方法
      public refresh(String keyWord){
        this.tableModel = new ResultSetTableModel(keyWord);/////
      }
    }然后需要刷新的时候调用上面这个类的对象的refresh(方法)。
    这样能刷新吗?
      

  3.   

    public refresh(String keyWord){
        this.tableModel = new ResultSetTableModel(keyWord);/////
        table.setModel(this.tableModel);
      }
      

  4.   

    cbhyk兄:
    感谢!问题已解决,请接分!
    非常感谢!
      

  5.   

    oldblue兄:
    谢谢你的回复。
    可是我setModel后没有repaint()表格也刷新了。
    关于repaint()我一直比较迷惑,不知道什么时候该用它,如果你能在这里讲一下在下不胜感激!(至于分,我可以专门开一个帖子给您)