当我点刷新按钮时对窗口刷新该怎么做,比如我本来有五条记录,当我删掉一条后,点刷新按钮后窗口中就只有四条记录了,这些数据都是从数据库中取出来的,求高手解答,要详细点,急求,谢谢了

解决方案 »

  1.   

    你的窗口为何物?是web程序还是swt的客户端程序,提问时还是要明确问题的,最好能精简条理代码,然后贴出部分来,让大家解决问题。
      

  2.   

    加入  validate();
    即可
      

  3.   

    大家看下我这样写的问题,每次点按钮的时候就调用recordTable()方法,这样做是有问题的,拉动滚动条之前删除的数据又会显示出来,点刷新后被删除的数据会消失,但是滚动滚动条后,那条删除的数据又会显示出来,我是刚接触JTable,菜鸟一枚,麻烦大神们给我个具体点的方法public void recordTable(Connection conn) {
    //拿到数据库中的记录个数
    int i, j;
    int RowNum = 0;
    int ColNum;
    String[] names = null;
    Object[][] datas = null;
    ResultSet  rs = null;

    Statement stmeNum=DB.createStmt(conn);

    String sqlNum="select count(*) from 寝费";
    String sql="select ROW_NUMBER() OVER (order by 日期 desc) as 编号,用途,类型,金额,日期 from 寝费";

    ResultSet rsNum = DB.executeQuery(stmeNum, sqlNum);
    try {
    rsNum.next();
    RowNum = rsNum.getInt(1);
    } catch (SQLException e1) {
    e1.printStackTrace();

    //拿到数据库中的记录
    try {
    rs = DB.executeQuery(stmeNum, sql);
    ResultSetMetaData rsmd=rs.getMetaData();
    ColNum=rsmd.getColumnCount();
      
        names = new String[ColNum];
        for (i=1;i<=ColNum;i++) names[i-1]=rsmd.getColumnName(i);
        datas = new Object[RowNum][];
        i=0;
        while (rs.next()) {
         datas[i]=new Object[ColNum];
        for (j=1;j<=ColNum;j++) {
         datas[i][j-1]=rs.getObject(j);
        }
        i++;
        }
    } catch (SQLException e1) {
    e1.printStackTrace();
    }
    DB.close(rsNum);
    DB.close(rs);
    DB.close(stmeNum);

    setLayout(null);
    final JTable table=new JTable(datas,names);
    table.setPreferredScrollableViewportSize(new Dimension(400,50));
    table.setEnabled(false);
    JScrollPane scrollPane = new JScrollPane(table);
    add(scrollPane);
    scrollPane.setBounds(3, 25, WIDTH-5, HEIGHT-100);
    }