我正在创建一个Java应用程序,用户可以在其中搜索对象列表,然后使用动态生成的表格在JEditorPane窗口中显示该表格,该表格的大小因返回的结果数量而异。
然后我想让用户选择和编辑对象。 (Java对象,而不是HTML代码)这是可行的,还是应该做一些完全不同的事情?我是否应该使用JEditorPane,或者我应该使用不同的方法,我将如何处理?
有问题的显示器有1到50个(取决于结果)单元格,如下所示:
名称
文本
对象的图片
年
选中两个作为对象一部分的布尔变量的复选框。
复选框应允许用户单击它们并更改布尔变量,然后将其保存到主对象集合中。
思想?
答案 0 :(得分:0)
JTable适合这类任务。你可以用渲染器和编辑器做很多你想要的东西。 Here is a tutorial。我的重点是:
要选择显示列中单元格的渲染器,表格首先确定是否为该特定列指定了渲染器。如果没有,则表调用表模型的getColumnClass方法,该方法获取列单元格的数据类型。接下来,该表将列的数据类型与已注册单元格渲染器的数据类型列表进行比较。此列表由表初始化,但您可以添加或更改它。目前,表格将以下类型的数据放入列表中:
- 布尔值 - 使用复选框呈现。
- 数字 - 由右对齐标签呈现。
- Double,Float - 与Number相同,但是对象到文本的转换由NumberFormat实例执行(使用当前语言环境的默认数字格式)。
- 日期 - 由标签呈现,由DateFormat实例执行对象到文本的翻译(使用日期和时间的简短样式)。
- ImageIcon,Icon - 由居中标签呈现。
- 对象 - 由显示对象字符串值的标签呈现。
使用类似的算法选择单元格编辑器。