我有一个从数据库中提取的项目列表,它将各个字段与rs.getString
方法结合起来创建更长的项目字符串,这是通过操作按钮方法完成的。
我希望能够点击此列表中的某个项目并让其中一个字段在文本框中显示为文本,因此需要通过列表选择事件方法完成,我指示程序设置文字到我想要的值。
我的问题是,我不确定要遵循的逻辑,以指定如何检索与列表中所选项目相对应的字段信息,你能给我任何想法吗?
答案 0 :(得分:3)
而是将字段组合成单个String
,创建一个POJO(普通旧Java对象),它为您想要的字段提供getter(和可能的setter),并为ListModel
提供这些对象
使用ListCellRenderer
自定义JList
以您希望的方式呈现POJO的方式。有关详细信息,请参阅Writing a Custom Cell Renderer。
当用户从列表中选择一个项目时,使用JList#getSelectedValue
并转换为与POJO相同的类。您现在可以使用POJO的getter来提取要显示的属性。
这个想法是生成一个独立的工作单元,根据你想要做的事情,你可以自定义对象的显示方式。
这个概念是分离数据(模型)和Model-View-Controller范例背后的UI(视图)和OOP的基石......