JTable的数据库更新刷新问题

一. 最开始我讲JTable加到滚动条 上,再把滚动条加到JPanl上, 最后将JPanel加到JFrame上面。可是怎么都没办法刷新,即便加了this.repaint( )也不行。

 

二. 后来发现是JPanel的问题,去掉JPanel 就可以了。

//刷新函数
    public void flushTable(String[][] crsMsg){
        this.remove(jl);
        jsp.remove(jt);
        //jp.remove(jsp);
        this.remove(jsp);

        allNum = crsMsg.length;
        System.out.println(allNum);
        jl = new JLabel("我的知识库: "+allNum);
        jl.setFont(titleFt);
        jl.setBounds(470,20,400,40);
        this.add(jl);

        dtm = new DefaultTableModel(crsMsg,headers);
        jt = new JTable(dtm){
            public boolean isCellEditable(int row, int column)
            {
                return false;//表格不允许被编辑
            }
        };
        jt.setRowHeight(35);
        jt.setFont(myfont);
        jsp = new JScrollPane(jt);
        jsp.setBounds(160,70,840,450);

//        jp = new JPanel();
//        jp.setBounds(160,70,840,450);
//        jp.setLayout(new GridLayout());

        //jp.add(jsp);
//        jp.repaint();
//        jp.validate();
        this.add(jsp);
        this.repaint();
    }

 

你可能感兴趣的:(#,JavaSwing)