資源描述:
《JTable的用法收藏版》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、JTable的用法收藏版在使用JTable以前,我們先看一下它的構(gòu)造函數(shù)有哪些,以及應(yīng)該如何使用:JTabel構(gòu)造函數(shù):JTable():建立一個(gè)新的JTables,并使用系統(tǒng)默認(rèn)的Model.JTable(intnumRows,intnumColumns):建立一個(gè)具有numRows行,numColumns列的空表格,使用的是DefaultTableModel.JTable(Object[][]rowData,Object[][]columnNames):建立一個(gè)顯示二維數(shù)組數(shù)據(jù)的表格,且可以
2、顯示列的名稱。JTable(TableModeldm):建立一個(gè)JTable,有默認(rèn)的字段模式以及選擇模式,并設(shè)置數(shù)據(jù)模式。JTable(TableModeldm,TableColumnModelcm):建立一個(gè)JTable,設(shè)置數(shù)據(jù)模式與字段模式,并有默認(rèn)的選擇模式。JTable(TableModeldm,TableColumnModelcm,ListSelectionModelsm):建立一個(gè)JTable,設(shè)置數(shù)據(jù)模式、字段模式、與選擇模式。JTable(VectorrowData,Vect
3、orcolumnNames):建立一個(gè)以Vector為輸入來(lái)源的數(shù)據(jù)表格,可顯示行的名稱。我們先以Array構(gòu)造方式,說(shuō)明如何利用JTable來(lái)建立一個(gè)簡(jiǎn)單的表格:1importjavax.swing.*;2importjava.awt.*;3importjava.awt.event.*;4importjava.util.*;5publicclassSimpleTable{6publicSimpleTable(){7JFramef=newJFrame();8Object[][]playerInf
4、o={9?????{"阿呆",newInteger(66),newInteger(32),newInteger(98),newBoolean(false)},10{"阿呆",newInteger(82),newInteger(69),newInteger(128),newBoolean(true)},11};12String[]Names={"姓名","語(yǔ)文","數(shù)學(xué)","總分","及格"};13JTabletable=newJTable(playerInfo,Names);14table.se
5、tPreferredScrollableViewportSize(newDimension(550,30));15JScrollPanescrollPane=newJScrollPane(table);16f.getContentPane().add(scrollPane,BorderLayout.CENTER);17f.setTitle("SimpleTable");18f.pack();19f.show();20f.addWindowListener(newWindowAdapter(){2
6、1publicvoidwindowClosing(WindowEvente){22System.exit(0);23}24});24}25publicstaticvoidmain(String[]args){26?????SimpleTableb=newSimpleTable();27}28}表格由兩部份組成:分別是行標(biāo)題(ColumnHeader)與行對(duì)象(ColumnObject).利用JTable所提供的getTableHeader()方法取得行標(biāo)題。在這個(gè)例子中,我們將JTable放在J
7、ScrollPane中,這種做法可以將ColumnHeader與ColmnObject完整的顯示出來(lái),因?yàn)镴ScrollPane會(huì)自動(dòng)取得ColumnHeader.但如果文壇讀者將上面第15行去掉并修改第16行:f.getContentPane().add(table,BorderLayout.CENTER);則運(yùn)行結(jié)果你會(huì)發(fā)現(xiàn)ColumnHeader不見(jiàn)了。如果你不想用JScrollPane,要解決這個(gè)問(wèn)題,你必須將程序修改如下:JTabletable=newJTable(p,n);table
8、.setPreferredScrollableViewportSize(newDimension(550,30));f.getContentPane().add(table.getTableHeader(),BorderLayout.NORTH);f.getContentPane().add(table,BorderLayout.CENTER);運(yùn)行結(jié)果就會(huì)跟之前一樣有行標(biāo)題了.上面的運(yùn)行結(jié)果就會(huì)跟發(fā)現(xiàn),每個(gè)字段的寬度都是一樣的,除非你自行拉曳某個(gè)列寬。若我們想一開(kāi)始就設(shè)置列寬的值,可以利用Ta