項(xiàng)目七 利用JTable創(chuàng)建學(xué)生信息表_第1頁(yè)
項(xiàng)目七 利用JTable創(chuàng)建學(xué)生信息表_第2頁(yè)
項(xiàng)目七 利用JTable創(chuàng)建學(xué)生信息表_第3頁(yè)
項(xiàng)目七 利用JTable創(chuàng)建學(xué)生信息表_第4頁(yè)
項(xiàng)目七 利用JTable創(chuàng)建學(xué)生信息表_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

項(xiàng)目七利用JTable

創(chuàng)建學(xué)生信息表1四、預(yù)備知識(shí)JTable簡(jiǎn)介支持許多復(fù)雜的定制Swing中功能最強(qiáng)大的單一組件

JTable

發(fā)揮其全部潛能的最富挑戰(zhàn)性的組件之一

位于javax.swing包中

創(chuàng)建、顯示和管理表格

2四、預(yù)備知識(shí)(1)創(chuàng)建所顯示的數(shù)據(jù)的一個(gè)數(shù)組。(2)創(chuàng)建列標(biāo)題的一個(gè)數(shù)組。(3)創(chuàng)建JTable的一個(gè)實(shí)例(對(duì)象),指定數(shù)據(jù)和標(biāo)題。(4)在多數(shù)情況下,需要設(shè)置可滾動(dòng)的視口(窗口)的大小。這可通過調(diào)用setPreferredScrollableViewportSize()方法完成。顯示JTable中數(shù)據(jù)的基本步驟3四、預(yù)備知識(shí)(5)可以調(diào)用setSelectionMode()改變選擇模式。(6)默認(rèn)情況下,用戶能夠選擇一行。要允許選擇列或單元格,可以使用setColumnSelectionAllowed(),setRowSelectionAllowed()或setCellSelectionEnable()。(7)創(chuàng)建一個(gè)JScrollPane,指定JTable為要滾動(dòng)的組件。4用JTable類創(chuàng)建表格JTable的構(gòu)造方法(1)JTable(Object[][]data,Object[]headerNames):自動(dòng)創(chuàng)建一個(gè)表,容納data中指定的數(shù)據(jù),并具有headerNames指定的標(biāo)題名data數(shù)組是二維的,第一維指定表中的行數(shù),第二維指定每一行中的元素?cái)?shù)量。在所有的情況下,每一行的長(zhǎng)度必須等于headerNames的長(zhǎng)度。5(2)JTable(TableModeldm)自動(dòng)創(chuàng)建一個(gè)表,有默認(rèn)的字段模式以及選擇模式,并設(shè)置表格模式。參數(shù)dm表示指定的表格模式。6JTable不提供滾動(dòng)能力,但是表通常被包含在JScrollPane中。JScrollPane滾動(dòng)條對(duì)象=newJScrollPane(表格對(duì)象);設(shè)置滾動(dòng)視口的大?。菏褂胹etPreferredScrollableViewportSize()方法,格式為:voidsetPreferredScrollableViewportSize(Dimension

dim)其中,dim指定滾動(dòng)區(qū)域的大小7它繼承自AbstractTableModel抽象類而來。DefaultTableModel的常用構(gòu)造方法為:DefaultTableModel(Object[][]data,Object[]

headerNames)這個(gè)構(gòu)造方法自動(dòng)創(chuàng)建了一個(gè)DefaultTableModel實(shí)例,并初始化表。DefaultTableModel類8例701創(chuàng)建一個(gè)用于顯示表格數(shù)據(jù)的框架,目前尚無表格例702在上一例框架中添加表格,并設(shè)置滾動(dòng)條。9調(diào)整表格列寬使用JTable的setAutoResizeMode()方法:voidsetAutoResizeMode(intmode)其中參數(shù)mode必須是以下5個(gè)之一:AUTO_RESIZE_SUBSEQUENT_COLUMENS:表示當(dāng)調(diào)整某一列寬時(shí),此字段之后的所有字段列寬都會(huì)跟著一起變動(dòng)。此為系統(tǒng)默認(rèn)值。AUTO_RESIZE_ALL_COLUMNS:表示當(dāng)調(diào)整某一列寬時(shí),此表格上所有字段的列寬都會(huì)跟著一起變動(dòng)。AUTO_RESIZE_OFF:表示當(dāng)調(diào)整某一列寬時(shí),此表格上所有字段列寬都不會(huì)跟著改變。AUTO_RESIZE_NEXT_COLUMN:表示當(dāng)調(diào)整某一列寬時(shí),此字段的下一個(gè)字段的列寬會(huì)跟著改變,其余均不會(huì)變。AUTO_RESIZE_LAST_COLUMN:表示當(dāng)調(diào)整某一列寬時(shí),最后一個(gè)字段的列寬會(huì)跟著改變,其余均不會(huì)改變。10設(shè)置表格每列的寬度的方法:利用JTable中的getColumnModel()方法取得TableColumnModel對(duì)象利用TableColumnModel接口所定義的getColumn()方法取得TableColumn對(duì)象(即表列)利用此對(duì)象的setPreferredWidth()方法可以控制字段的寬度。例703在上一例表格中設(shè)置每一列的寬度11為列添加組合框在類中定義一個(gè)組合框?qū)ο驤ComboBoxc1=newJComboBox();在構(gòu)造方法中添加項(xiàng)目c1.addItem("信息");為列添加組合框setCellEditor()方法:用于為列添加組件,()中參數(shù)指定組件對(duì)象名如:為索引為2的列添加組合框table.getColumnModel().getColumn(2).setCellEditor(newDefaultCellEditor(c1));例70412為表格添加數(shù)據(jù)修改按鈕為SimpleTable類添加兩個(gè)文本框成員,一個(gè)用于填寫要?jiǎng)h除列的序號(hào),另一個(gè)用于填寫要增加列的標(biāo)題。源碼如下所示:JTextFieldt1,t2;在構(gòu)造方法中,將上面定義的文本框連同兩個(gè)標(biāo)簽添加到框架的南部,并設(shè)置背景色。13定義4個(gè)JButton按鈕,并把它們添加到框架的北部定義ActionListener接口中處理按鈕事件的方法actionPerformed()14DefaultTableModel類的常用方法getColumnCount()方法:返回DefaultTableModel類中的列數(shù)(表格列數(shù))intgetColumnCount()getRowCount()方法:返回DefaultTableModel類中的行數(shù)(表格行數(shù))intgetRowCount()15addColumn()方法:將一列添加到表格模型中voidaddColumn(ObjectcolumnName)參數(shù)columnName表示要添加的列的標(biāo)識(shí)符,它可以為nulladdRow()方法:添加一行到表格模型的結(jié)尾;voidaddRow(VectorrowData)參數(shù)rowData表示要添加的行數(shù)據(jù)(可選),如果未指定rowData,則新行將包含null值。16removeColumn()方法:移除表格模型中指定位置上的列voidremoveRow(Objectcolumn)參數(shù)column表示要移除的列的索引removeRow()方法:移除表格模型中指定位置上的行voidremoveRow(introw)參數(shù)row表示要移除的行的索引17JTable類的常用方法getColumnCount()方法:獲得列模型中的列數(shù)。注意,這可能與表模型中的列數(shù)不同。intgetColumnCount()getColumnName()方法:獲得出現(xiàn)在視圖中指定列位置處的列名稱StringgetColumnName(intcolumn)參數(shù)column為在視圖中指定的要查詢的列。18getRowCoun

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論