java 的Table類采用了MVC模式,所以設計出多種視圖相對容易.
但是在工作中為了如果Table里的數(shù)據(jù)能用Tree的方式組織起來,數(shù)據(jù)會更加緊湊,結(jié)構(gòu)清晰.
效果如圖:但是往往工作中數(shù)據(jù)沒那么少,那么簡單

下圖是樹型圖的思維圖

基本上程序上要寫的地方有:
1.實現(xiàn)TreeModel接口,
同時實現(xiàn)TableModel中幾個必要函數(shù)
public Class getColumnClass(int column);
public int getColumnCount();
public String getColumnName(int column);
public Object getValueAt(Object node, int column);
public boolean isCellEditable(Object node, int column);
public void setValueAt(Object value, Object node, int column);
使tree和table能相互結(jié)合使用
2.繼承AbstractTableModel
將1中繼承TreeModel和此結(jié)合
3.繼承TableCellRenderer
要覆蓋paint,updateUI 要實現(xiàn)getTableCellRendererComponent
4.TreeModelListener的實現(xiàn)了
整體的代碼不長 但花了我不少時間.需要的話留下mail吧.
此代碼還有不完善的地方.如和sql結(jié)合.
posted on 2006-03-11 13:15
nake 閱讀(2912)
評論(45) 編輯 收藏