我有一些数据,我必须通过两个JTable显示;数据是一样的,但每个表都必须以不同的方式显示。 此外,我从外部连接(在这种情况下,JMS,但它并不重要,它可能是一个数据库,或其他)的数据。相同的数据集,两个不同的JTable
因为我是Swing的新手,我仍然有点困惑谁应该开火的事件,谁应该听他们,以及如何使我的数据集的修改我将有两个表更新。
现在,我的数据集结构的一个小例子,以及一些虚拟的数据:
class Student{ String name; Classroom classroom; boolean goodStudent}
class Classroom{ Sting name; List<String> coursesTaught; List<Student> students;}
public List<Classroom> classes;
基本上,我的数据集将在控制器类classes
场和两个JTable中必须显示的东西不同的方式。 也就是说,表1将有显示类似:
Classroom Name | Courses
4a | CS101, CS102, CS103
4b | BM101, CS102
4c | I101, CS4100
所以基本上,每个教室的课程列表。
表2应改为显示之类的东西:
Student Name | Good?
Mark Spencer | true
Philippe Mann | true
Tom Sayer | false
我应该能看到所有学生,所有课室。你可以看到,数据是一样的,但是以不同的方式显示。 我想要做的是,当我的数据发生变化时,表格也会自动更新。 至于我到目前为止了解的内容,我将不得不继承AbstractTableModel的子类并为我想要显示的数据类型创建两个不同的TableModel;我没有得到的是:
- 模型如何获取他们的数据,一旦发生了一些变化?
- 谁应该通知此更改的模型?
- 调用“fireTableXXXEvent()”触发视图刷新就足够了吗?
我希望自己明白了...... 无论如何,非常感谢! 再见
为什么2?如果你只是使用相同的tablemodel的2不会工作吗? – Peter 2011-12-22 10:43:30
@彼得,他们有不同的行数 – StanislavL 2011-12-22 14:15:49
对不起,错过了那部分 – Peter 2011-12-22 14:25:58