我有一个JList将根据用户指向一个选定的JList。它就像监视器一样监视选定的JList。当我实现自定义单元格渲染器并编程地执行诸如this.list = getSelectedList()
之类的操作时,单元格渲染器不会对这种突然变化的信息做出反应。我如何通知JList重新评估其列表数据而无需调用添加/删除功能?如何告诉JList cellrenderer突然发生JList更改?
0
A
回答
2
this.list = getSelectedList()
影响另一个JList对象到this.list
字段。如果在执行此行之前将自定义渲染器设置为this.list
,则可以将渲染器设置为另一个JList对象,并且渲染器无法魔法附加到新的选定列表。
你在混淆变量和对象。在对象上调用方法时,您正在修改变量指向的对象,而不是变量本身。如果您要附加同一单元格渲染新选择JList的,你需要下面的代码:
ListCellRenderer renderer = this.list.getCellRenderer();
this.list = getSelectedList();
this.list.setCellRenderer(renderer);
3
从我收集到的问题,下面的评论你有一个列表A中应显示另一个列表的内容。 A列表应该显示用户选择的列表的内容,并且当用户更改“选定列表”时出现问题。
您可以在JList
实例后面共享ListModel
。所以,你可以有类似
public void selectionChanged(JList selectedList){
//update the model of this.list to match the model of selectedList
this.list.setModel(selectedList.getModel());
}
相关问题
- 1. 如何更改JList的目标指标
- 2. JList更新UI
- 3. 如何JList中
- 4. 正在更新JList
- 5. 动态更新Jlist
- 6. 如何使用JList?
- 7. 在运行时更改JList行颜色
- 8. JList项目:更改垂直对齐
- 9. JList,JScrollPane
- 10. 如何在java聊天中更新JList
- 11. 一个JList的触发数据添加到另一个JList中
- 12. 如何清除一个JList
- 13. 如何让JList显示ArrayList?
- 14. 如何更改JList中文本的颜色和样式?
- 15. 如何在jpane对话框中更改jlist元素的值
- 16. 如何对JList中的模型显示进行更改
- 17. 从JList的
- 18. Java Swing JList
- 19. Java JList模型
- 20. JList like tree
- 21. 查找的jList
- 22. JList clearSelection()问题
- 23. Listen JList setSelectedIndex
- 24. JList DefaultListModel ListSelectionListener
- 25. JList不清除
- 26. ArrayIndexOutOfBoundsException gui jlist
- 27. JList行显示
- 28. 清除JList
- 29. Java Swing JList
- 30. Java - JList点击
你的意思是你有一个''JList' A'其可视化的相同数据的另一选择'JList',用户可以改变在该点列表中的“选择清单” 'A'应该显示新的'选择列表'中包含的数据? – Robin 2012-04-21 09:26:10
是的,它假设显示选定的列表数据 – user385261 2012-04-21 09:27:10
不明白渲染器在何处/如何进入?假设@Robin描述了您的需求(一个jlist显示了多个jlists池中“selected”列表的数据)。你如何检测“选择”? – kleopatra 2012-04-21 09:42:50