Java - 如何在加载Jframe后更新JList

Kun*_*nal 0 java refresh vector jframe jlist

        Connection connection = newConnection.createConnection();
        Statement newStat = connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
        ResultSet res = newStat.executeQuery("SELECT contactName FROM Contact WHERE accountName='"+m+"'");
        Vector<String> temp = new Vector<String>();
        //res.first();
        while (res.next()){
            temp.add(res.getString("contactName"));
        }
        newStat.close();
        connection.close();
        customerContactList = new JList(temp);
        repaint();
Run Code Online (Sandbox Code Playgroud)

我有一个带有帐户名称的Jlist,当选择一个帐户时,旁边有一个按钮,必须按下该按钮才能调用上面的代码.代码应该获取与该帐户关联的联系人姓名并将其填充到JList中.这不会发生.Jlist保持空白,我调试并且向量temp确实得到3个值并将它们存储到新的jlist中,问题是,JList不刷新.

我怎样才能刷新?

非常感谢,我感谢任何帮助.注:Kunal

Ern*_*ill 5

您创建的新JList尚未添加到任何容器中,因此您必须将其添加到框架中,就像原始框架一样,然后在框架上调用"validate()"(添加时始终需要) /删除组件到可见窗口.)但是最好在现有的JList上调用setListData() - 它会立即更新,而不会闪烁.