22、Java Swing JTable:表格
表格是 Swing 新增加的組件,主要功能是把數(shù)據(jù)以二維表格的形式顯示出來,并且允許用戶對(duì)表格中的數(shù)據(jù)進(jìn)行編輯。表格組件是最復(fù)雜的組件之一,它的表格模型功能非常強(qiáng)大、靈活而易于執(zhí)行。由于篇幅有限,本節(jié)只介紹默認(rèn)的表格模型。
Swing 使用 JTable 類實(shí)現(xiàn)表格,常用構(gòu)造方法如下所示。
- JTable():構(gòu)造一個(gè)默認(rèn)的 JTable,使用默認(rèn)的數(shù)據(jù)模型、默認(rèn)的列模型和默認(rèn)的選擇模型對(duì)其進(jìn)行初始化。
- JTable(int numRows,int numColumns):使用 DefaultTableModel 構(gòu)造具有 numRows
行和 numColumns 列個(gè)空單元格的 JTable。 - JTable(Object[][] rowData,Object[] columnNames):構(gòu)造一個(gè) JTable 來顯示二 維數(shù)組
rowData 中的值,其列名稱為 columnNames。
創(chuàng)建一個(gè)帶有滾動(dòng)條的 JTable 對(duì)象非常簡單,如下所示。
JTable table=new JTable(5,6); JScrollPane pane=new JScrollPane(table);第一條語句創(chuàng)建了一個(gè) JTable 對(duì)象。第二條語句創(chuàng)建了一個(gè)存放 JTable 對(duì)象的 JScrollPane 對(duì)象,該對(duì)象是一個(gè)視圖對(duì)象。JScrollPane是一個(gè)垂直和水平滾動(dòng)條,以及可設(shè)置行和列標(biāo)題的容器。上面兩行代碼執(zhí)行后的表格效果如圖1 所示。
JTable 類常用方法:
- getColumnCount()---- 返回列模型中的列數(shù)
- getColumnN ame(int column)---- 返回出現(xiàn)在視圖中 column 列位置處的列名稱
- getRowCount()---- 返回 JTable 中可以顯示的行數(shù)(給定無限空間)
- getRowSorter() ----返回負(fù)責(zé)排序的對(duì)象
- getSelectedColumn() ----返回第一個(gè)選定列的索引,如果沒有選定的列, 則返回 -1
- getSelectedRow()---- 返回第一個(gè)選定行的索引,如果沒有選定的行, 則返回 -1
- getValueAt(int row,int column)---- 返回 row 和 column 位置的單元格值
- isEditing()---- 如果正在編輯單元格,則返回 true
- selectAll()---- 選擇表中的所有行、列和單元格
- setColumnSelectionInterval(int index0,int index1) ----選擇從 index0 到
index1之間(包含兩端)的列 - setRowSelectionInterval(int index0,int index1) ----選擇從 index0 到 index1
之間(包含兩端)的行 - setTableHeader(JTableHeader tableHeader)---- 將此 JTable 所使用的 tableHeader
設(shè)置為 newHeader - setUpdateSelectionOnSort(boolean update) ----指定排序后是否應(yīng)該更新選擇
- setValueAt(Object a Value,int row,int column)---- 設(shè)置表模型中 row 和 column
位置的單元格值
例 1
使用 JTable 類創(chuàng)建一個(gè)包含 8 列的學(xué)生成績表,并向表格中填充幾行數(shù)據(jù),具體實(shí)現(xiàn)代碼如下所示。
如上述代碼所示,表格組件和其他組件類似,可以方便地創(chuàng)建一個(gè) JTable 對(duì)象。 如果 JTbale 對(duì)象直接添加到 JFrame 中,則表頭顯示不出來,需要把表格對(duì)象放入 JScrollPane 對(duì)象中,之后把 JScrollPane 對(duì)象添加到 JFrame 中。實(shí)例的運(yùn)行效果如圖 2 所示。
。
總結(jié)
以上是生活随笔為你收集整理的22、Java Swing JTable:表格的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 21、Java Swing JOptio
- 下一篇: 23、Java Swing JTree: