使用Object返回arList进行JList更新

时间:2016-05-14 23:12:25

标签: java swing client jlist

我有一个名为CM的Client_manager返回一个arrayList。

public class Client_Manager {
private static Client_Manager self = null;
private ArrayList<Client_Thread> clientList;
public Client_Manager() {
    self = this;
    this.clientList = new ArrayList<>();
}



public static Client_Manager getInstance()
{
    if(self == null)
        self = new Client_Manager();

    return self;
}

public void addClientThread(Client_Thread client)
{
    this.clientList.add(client);
}

public Client getClientAt(int index)
{
    return this.clientList.get(index).getOwner();
}

public void removeClient(int index)
{
    this.clientList.remove(index);
}

public ArrayList<Client> getClientList() {
    ArrayList<Client> ar = new ArrayList<>();
    for(int count1 = 0; count1 < clientList.size(); count1++)
    {
        ar.add(clientList.get(count1).getOwner());
    }

    return ar;
}
}

和Jlist命名为'showClient'。我想要做的是从CM中获取arraylist。(CM.​​getClientList)以显示在jlist showClient中。此外,我希望每次CM获得新客户时都更新更改。我应该怎么开始?第一次轮换。

需要有人指出我正确的方向文件或例子。 ...

1 个答案:

答案 0 :(得分:2)

https://s3.amazonaws.com/images/FlowerImages/Rose_320.jpg https://s3.amazonaws.com/images/FlowerImages/Rose_480.jpg https://s3.amazonaws.com/images/FlowerImages/Rose_1024.jpg 包含ListModel<Client>,其中每个ClientManager都会更新。任何具有该模型的监听Client都会自行更新。可以找到完整的示例herehere。确切的详细信息取决于上下文,但JList 必须event dispatch thread上更新。如果接收客户端导致不可预测的延迟,请使用worker thread