Java-加载Jframe后如何更新JList
我有一个带有帐户名的Jlist,当选择了一个帐户时,旁边有一个按钮,必须按下该按钮才能调用上面的代码。 该代码应该获取与该帐户关联的联系人姓名,并将其填充到 JList。这种情况不会发生。Jlist保持空白,我调试过,vector temp确实得到了3个值并将它们存储到新的Jlist中,问题是,Jlist没有刷新 我怎样才能使它刷新 非常感谢,非常感谢您的帮助。Java-加载Jframe后如何更新JList,java,vector,refresh,jframe,jlist,Java,Vector,Refresh,Jframe,Jlist,我有一个带有帐户名的Jlist,当选择了一个帐户时,旁边有一个按钮,必须按下该按钮才能调用上面的代码。 该代码应该获取与该帐户关联的联系人姓名,并将其填充到 JList。这种情况不会发生。Jlist保持空白,我调试过,vector temp确实得到了3个值并将它们存储到新的Jlist中,问题是,Jlist没有刷新 我怎样才能使它刷新 非常感谢,非常感谢您的帮助。 Kunal您创建的新JList尚未添加到任何容器中,因此您必须将其添加到框架中,就像原始框架一样,然后在向可见窗口添加/删除组件时始终
Kunal您创建的新JList尚未添加到任何容器中,因此您必须将其添加到框架中,就像原始框架一样,然后在向可见窗口添加/删除组件时始终需要在框架上调用validate。但是最好在现有的JList上调用setListData,它会立即更新,不太闪烁。您创建的新JList尚未添加到任何容器中,因此您必须将其添加到框架中,就像原始JList一样,然后在向可见窗口添加/删除组件时,调用“始终需要”框架上的“验证”。但是最好在现有的JList上调用setListData,它会立即更新,周围的闪烁更少。您可以使用ListModel来操作JList中的数据。而且绝对不会在任何步骤创建新的JLists 您已将JList绑定到JFrame。现在,您可以使用
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();
并修改该模型,然后将新模型发回:
JList list = new JList();
ListModel model = list.getModel();
您可以使用ListModel来操作JList中的数据。而且绝对不会在任何步骤创建新的JLists 您已将JList绑定到JFrame。现在,您可以使用
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();
并修改该模型,然后将新模型发回:
JList list = new JList();
ListModel model = list.getModel();
它起作用了!当初始化组件时,我正在为其他部件创建新的jLists,这种方式似乎更有效。谢谢你的帮助Dit有效!当初始化组件时,我正在为其他部件创建新的jLists,这种方式似乎更有效。谢谢你的帮助D