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

下圖是樹型圖的思維圖

基本上程序上要寫的地方有:
1.實(shí)現(xiàn)TreeModel接口,
同時(shí)實(shí)現(xiàn)TableModel中幾個(gè)必要函數(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 要實(shí)現(xiàn)getTableCellRendererComponent
4.TreeModelListener的實(shí)現(xiàn)了
整體的代碼不長(zhǎng) 但花了我不少時(shí)間.需要的話留下mail吧.
此代碼還有不完善的地方.如和sql結(jié)合.
posted on 2006-03-11 13:15
nake 閱讀(2915)
評(píng)論(45) 編輯 收藏