【问题标题】:How can I make a JList interact with my database?如何使 JList 与我的数据库交互?
【发布时间】:2015-03-29 09:07:17
【问题描述】:

我有一个从数据库中提取的项目列表,它将各种字段与rs.getString 方法结合起来创建更长的项目字符串,这是在操作按钮方法中完成的。

我希望能够单击此列表中的一个项目并将其中一个字段显示为文本框中的文本,因此这需要通过我指示程序设置的列表选择事件方法来完成文本到我想要的值。

我的问题是,我不确定要遵循的逻辑以指定如何检索与列表中选定的项目相对应的字段信息,您能给我一些想法吗?

【问题讨论】:

    标签: java mysql swing jdbc jlist


    【解决方案1】:

    而不是将字段组合成一个String,创建一个POJO(普通旧Java对象),它为您想要的字段和这些对象提供getter(和可能的setter)ListModel

    使用ListCellRenderer 自定义JList 以您想要的方式呈现POJO 的方式。详情请见Writing a Custom Cell Renderer

    当用户从列表中选择一个项目时,使用JList#getSelectedValue 并转换为与您的 POJO 相同的类。您现在可以使用 POJO 的 getter 来提取要显示的属性。

    这个想法是生成一个自包含的工作单元,根据您想要做什么,您可以自定义对象的显示方式。

    这个概念是Model-View-Controller范式和OOP背后的数据(模型)和UI(视图)分离的基石......

    【讨论】: