我現在已經創建了一個基於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