gpt4 book ai didi

java - 如何让JList显示ArrayList?

转载 作者:行者123 更新时间:2023-12-02 03:12:15 26 4
gpt4 key购买 nike

我正在尝试获取 Jlist 来显示我自己的 Client 对象的列表。我的 Client 类确实有一个 toString() 方法,它可以与 System.out.print() 配合使用,并且我不确定我的问题可能出在哪里。

这是我的代码:

private void displayClients(){
List<Client> clients = new ArrayList<>(this.gym.getClients());
displayClientsList.setListData(clients);
displayClientsList.setSelectedIndex(0);
}

这是错误消息:

no suitable method found for setListData(List<Client>)
method JList.setListData(String[]) is not applicable
(argument mismatch; List<Client> cannot be converted to String[])
method JList.setListData(Vector<? extends String>) is not applicable
(argument mismatch; List<Client> cannot be converted to Vector<? extends String>)

谁能告诉我如何解决这个问题?谢谢:)

最佳答案

该方法的 API 文档说它需要一个 Vector 或一个数组...

https://docs.oracle.com/javase/7/docs/api/javax/swing/JList.html#setListData(E[])

尝试...

displayClientsList.setListData(clients.toArray(new Client[0]));

或者您可能想自己制作一个字符串列表并显示它们,例如......

List<String> displayList = clients.stream()
.map(c -> c.toString())
.collect(Collectors.toList());

displayClientsList.setListData(displayList.toArray(new String[0]));

关于java - 如何让JList显示ArrayList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40867481/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com