我有一些數據,我必須通過兩個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