版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、綜合了下,總結(jié) DefaultTableModel的內(nèi)部構(gòu)造(2007-05-23 20:46:10轉(zhuǎn)載分類:JAVA專題我們曾提到過 DefaultTableModel類,并說明了此類是繼承 AbstractTableModel抽象類而 來,且實現(xiàn)了 getColumnCount( , getRowCount(與getValueAt(3個方法。因此在實際的使用 上,DefaultTableModel比AbstractTableModel要來得簡單許多,也較常被拿來使用 DefaultTableModel內(nèi)部使用Vector來使用表格的數(shù)據(jù),若佻所要顯示的表格格式是比較單純 的變化,筆者建議使
2、用DefaultTableModel類會來得方便也簡單許多。若佻所要顯示的數(shù)據(jù)模式非常復雜,例如我們所舉的成績表格外加學生選課信息等,像這類的表格通常顯示的信息會 因人面異,因此使用AbstractTableModel會比較容易設(shè)計些。下面是DefaultTableModel的構(gòu)造函數(shù):DefaultTableModel(:建立一個 DefaultTableModel,里面沒有任何數(shù)據(jù).DefaultTableModel(int numRows,int numColumns: 建立一個指定行列數(shù)的 DefaultTableModel.DefaultTableModel(Object口口 dat
3、a,Object columnNames: 建立一個 DefaultTableModel ,輸 入數(shù)據(jù)格式為 Object Array.系統(tǒng)會自動調(diào)用setDataVector(方法來設(shè)置數(shù)據(jù)。DefaultTableModel(Object口 columnNames,int numRows: 建立一個 DefaultTableModel ,并具 有ColumnHeader名稱與行數(shù)信息。DefaultTableModel(Vector columnNames,int numRows: 建立一個 DefaultTableModel ,并具 有columnHeader名稱與行數(shù)信息。Defaul
4、tTableModel(Vector data,Vector columnNames:建立一個 DefaultTableModel ,輸入數(shù) 據(jù)格式為Vector.系統(tǒng)會自動調(diào)用setDataVector(方法來設(shè)置數(shù)據(jù)。DefaultTableModel類提供相當多好用的方法,如之前我們談?wù)撨^的 getColumnCount(,getRowCount(,getValueAt(,isCellEditable(setValueAt(等方法,均可直接使用。且 DefaultTableModel也提供了 addColumn(與 addRow(等方法,可讓我們隨時增加表格的數(shù)據(jù)。下面我們就舉一個動態(tài)增
5、加表格字段的例 子:import java.awt.*;import java.awt.event.*;import java.util.Vector;import javax.swing.*;import javax.swing.event.*;import javax.swing.table.*;public class AddRemoveCells implements ActionListenerJTable table = null;DefaultTableModel defaultModel = null;public AddRemoveCells( JFrame f = new
6、JFrame(;String口name = "字段 1","字段 2","字段 3","字段 4","字段 5"String口data = new String55;int value =1;for(int i=0; ifor(int j=0; jdatajString.valueOf(value+;defaultModel = new DefaultTableModel(data,name;table=new JTable(defaultModel;table.setPreferredScro
7、llableViewportSize(newDimension(400, 80;JScrollPane s = new JScrollPane(table;JPanel panel = new JPanel(;JButton b = new JButton("增加行";panel.add(b;b.addActionListener(this;b = new JButton("增加列";panel.add(b;b.addActionListener(this;b = new JButton("刪除行";panel.add(b;b.add
8、ActionListener(this;b = new JButton("刪除列";panel.add(b;b.addActionListener(this;Container contentPanef.getContentPane(;contentPane.add(panel, BorderLayout.NORTH;contentPane.add(s, BorderLayout.CENTER;f.setTitle("AddRemoveCells"f.pack(;f.setVisible(true;f.addWindowListener(new Wind
9、owAdapter( public void windowClosing(WindowEvent e System.exit(0;/*要刪除列必須使用TableColumnModel界面定義的removeColumn(T法。* 因此我閃先由JTable類的getColumnModel(方法取* TableColumnModel 對象,再由 TableColumnModel 的 getColumn(* 方法取得要刪除列的TableColumn.此TableColumn對象當作是* removeColumn(的參數(shù)。刪除此列完畢后必須重新設(shè)置列數(shù),* 也就是使用 DefaultTableModel
10、 的 setColumnCount(方法來設(shè)置。*/public void actionPerformed(ActionEvent eif(e.getActionCommand(.equals(" 增加列"defaultModel.addColumn("增加列";if(e.getActionCommand(.equals("增加行"defaultModel.addRow(new Vector(;if(e.getActionCommand(.equals(" 刪除列"int columncount = default
11、Model.getColumnCount(-1;if(columncount >= 0/ 若 columncount<0 代表已經(jīng)沒有任何歹U了。TableColumnModel columnModel = table.getColumnModel(;TableColumn tableColumn = columnModel.getColumn(columncount;columnModel.removeColumn(tableColumn;defaultModel.setColumnCount(columncount;if(e.getActionCommand(.equals("刪除行"int rowcountdefaultModel.getRowCount(-1;/getRowCount返回行數(shù),rowcount<0代表已經(jīng)沒有任何行了。if(rowcount >= 0defaultModel.removeRow(rowcount;defaultModel.setRowCount(rowc
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度路面施工環(huán)境保護合同范本4篇
- 二零二五版跨境電商智能物流系統(tǒng)租賃合同3篇
- 二零二五年度材料買賣合同范本:石油化工材料購銷合作協(xié)議書2篇
- 二零二五年度版權(quán)合同管理崗位職責解析3篇
- 年度全熱風載流焊機戰(zhàn)略市場規(guī)劃報告
- 二零二五版導游人員國際交流聘用合同3篇
- 2025年度園林植物病蟲害防治勞務(wù)合同4篇
- 2024版建筑工程施工安全控制合同書一
- 二零二五年度搬家運輸貨物貨物包裝材料供應(yīng)合同3篇
- 二零二五年個人商業(yè)房產(chǎn)抵押擔保合同樣本3篇
- GB/T 14864-2013實心聚乙烯絕緣柔軟射頻電纜
- 品牌策劃與推廣-項目5-品牌推廣課件
- 信息學奧賽-計算機基礎(chǔ)知識(完整版)資料
- 發(fā)煙硫酸(CAS:8014-95-7)理化性質(zhì)及危險特性表
- 數(shù)字信號處理(課件)
- 公路自然災(zāi)害防治對策課件
- 信息簡報通用模板
- 火災(zāi)報警應(yīng)急處置程序流程圖
- 耳鳴中醫(yī)臨床路徑
- 安徽身份證號碼前6位
- 分子生物學在動物遺傳育種方面的應(yīng)用
評論
0/150
提交評論