我一直在尝试更新我的 Java 知识,并且一直在构建一个小型 GUI 程序,但遇到了一些问题。
基本上,我有一个JList
我目前正在使用来自我的一个类的对象中的字符串填充该类,该类实现了AbstractListModel
我们可以称之为我的ItemList
班级。它包含一个ArrayList
该类型的对象的数量Item
它实现了Serializable
.
但是,我想做的不是填充我的JList
用一堆字符串我想用某种字符串填充它+JTextField
组合,这样我就可以看到每个属性的一个属性Item
对象,同时还可以通过更改来更新另一个属性JTextField
.
现在,我正在寻找的是最简单的方法来做到这一点,并且我假设有一种(相对)简单的方法来做到这一点,因为在 GUI 应用程序中这是很常见的事情(尽管我不会不要把它放在 Java 和 Swing 之外,使其变得令人费解和复杂)。
那么,这样做的正确方法是什么?
无需使用String
对象。反而:
- Put
Item
中的对象JList
.
- Add a
ListCellRenderer
到列表,显示Item
反对最用户友好的方式。
- When the user selects an item, show the details in a different place (I'm thinking a panel with 2 columns of labels and text fields, and two rows - one for each attribute, and perhaps a button to Save)
编辑控件最好封装在一个面板中,然后在不需要时隐藏,并放置在各种位置,例如
- 列表下方
- GUI 的主要部分
- 显示在一个
JOptionPane
或(模态或非模态)JDialog
这是一个将“查看/编辑面板”(文件详细信息)放置在选择组件(表格)下方的示例 https://codereview.stackexchange.com/questions/4446/file-browser-gui.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)