我现在已经创建了一个基于arraylist的JList,并且正在被defaultlistmodel填充。该列表将在人员连接到服务器时添加人员,但不会显示连接的人员或之后连接的人员。所以,我必须更新JList。正在更新JList
我的问题是:
我应该更新什么?是否有可能使用运行更新的计时器,或者是否应该实施在某人进入服务器时运行的updatemethod?
ps。这是一个聊天服务器,非常像IRC。
下面是一些代码:
的GUI:
jList2 = new javax.swing.JList();
try{
jList2.setModel(gl.getUsersOnlineAsDefaultListModel(gl.getClients())
);
}catch(RemoteException ex){
System.out.println(ex);
}
jScrollPane3.setViewportView(jList2);
GUI逻辑:
public DefaultListModel getUsersOnlineAsDefaultListModel(ArrayList<Client> clients) throws RemoteException {
DefaultListModel result = new DefaultListModel();
for(Client c : clients){
result.addElement(c.findName());
}
return result;
}
public ArrayList<Client> getClients() throws RemoteException, NullPointerException{
return cf.getClients();
}
服务器侧:
ArrayList clients = new ArrayList<Client>();
public ArrayList<Client> getClients(){
return clients;
}
所以,我结束了使用回调,跑的updateJlist方法我已经有了。一切正常现在 – sindrem 2012-01-19 11:48:45