作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试获取 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/
我是一名优秀的程序员,十分优秀!