我当前的应用程序使用JList,一切都很顺利(我所做的唯一定制是在某些行上设置斜体字体。)
现在我想“升级”用户界面,而不仅仅是列表中的标签,我想要一个复选框和一个文本字段来更新条目。
我开始更改代码并添加自定义单元格渲染器和自定义单元格模型。我目前的问题是单元格渲染器返回的JPanel没有使用容器的整个宽度,因此实际上在同一行显示了几个列表项。
但是现在,我想知道我是否应该改变整个事情来使用JTable。我仍然需要在列表中添加/删除项目......
任何一个更好的建议?如果使用JList,我该如何解决当前的问题呢?
答案 0 :(得分:2)
根据我的经验,使用JTable
通常更容易,因为它允许更复杂的数据和功能开箱即用。通常,当我尝试执行JList
无法执行的操作时,我只需切换到JTable
即可。你想要的东西听起来像是在桌面上实现的非常简单的东西。我建议您尝试使用一些模拟数据来查看是否可以按照自己喜欢的方式使其外观和工作(特别是在您希望它看起来像列表的情况下)。
答案 1 :(得分:0)
尝试在JList上调用setLayoutOrientation(JList.VERTICAL)
。这会将JList限制为单个列。