私は今、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メソッドを実行したコールバックを使用して終了Iすでに持っていた。すべてが今うまくいきます – sindrem