javaSwing控件的用法和范例

ID:37323677

大?。?82.39 KB

頁(yè)數(shù):21頁(yè)

時(shí)間:2019-05-21

javaSwing控件的用法和范例_第1頁(yè)
javaSwing控件的用法和范例_第2頁(yè)
javaSwing控件的用法和范例_第3頁(yè)
javaSwing控件的用法和范例_第4頁(yè)
javaSwing控件的用法和范例_第5頁(yè)
資源描述:

《javaSwing控件的用法和范例》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。

1、java-Swing控件的用法和范例類JTableJTable用來(lái)顯示和編輯規(guī)則的二維單元表。JTable有很多用來(lái)自定義其呈現(xiàn)和編輯的設(shè)施,同時(shí)提供了這些功能的默認(rèn)設(shè)置,從而可輕松地設(shè)置簡(jiǎn)單表。例如,要設(shè)置一個(gè)10行10列的表:TableModeldataModel=newAbstractTableModel(){publicintgetColumnCount(){return10;}publicintgetRowCount(){return10;}publicObjectgetValueAt(introw,intcol){returnnewInteger(row*col);

2、}};JTabletable=newJTable(dataModel);JScrollPanescrollpane=newJScrollPane(table);注意,如果要在單獨(dú)的視圖中(在JScrollPane外)使用JTable并顯示表標(biāo)題,則可以使用getTableHeader()獲取并單獨(dú)顯示它。設(shè)計(jì)使用JTable的應(yīng)用程序時(shí),要嚴(yán)格注意用來(lái)表示表數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)。DefaultTableModel是一個(gè)模型實(shí)現(xiàn),它使用一個(gè)Vector來(lái)存儲(chǔ)所有單元格的值。該Vector由包含多個(gè)Object的Vector組成。除了將數(shù)據(jù)從應(yīng)用程序復(fù)制到DefaultTableMode

3、l中之外,還可以TableModel接口的方法來(lái)包裝數(shù)據(jù),這樣可將數(shù)據(jù)直接傳遞到JTable,如以上示例所示。這通常可以提高應(yīng)用程序的效率,因?yàn)槟P涂梢宰杂蛇x擇最適合數(shù)據(jù)的內(nèi)部表示形式。在決定使用AbstractTableModel還是使用DefaultTableModel方面有一個(gè)好的實(shí)踐經(jīng)驗(yàn),即在創(chuàng)建子類時(shí)使用AbstractTableModel作為基類,在不需要?jiǎng)?chuàng)建子類時(shí)則使用DefaultTableModel。在發(fā)行的源代碼演示部分中的"TableExample"目錄內(nèi)給出了許多JTable用法的完整示例,包括如何使用JTable來(lái)提供一個(gè)可編輯的數(shù)據(jù)視圖(數(shù)據(jù)來(lái)自數(shù)據(jù)

4、庫(kù)),以及如何修改正顯示的列以使用特殊的渲染器和編輯器。JTable使用惟一的整數(shù)來(lái)引用它所顯示的模型的行和列。JTable只是采用表格的單元格范圍,并在繪制時(shí)使用getValueAt(int,int)從模型中檢索值。默認(rèn)情況下,在JTable中對(duì)列進(jìn)行重新安排,這樣在視圖中列的出現(xiàn)順序與模型中列的順序不同。但這根本不影響模型的實(shí)現(xiàn):當(dāng)列重新排列時(shí),JTable在內(nèi)部保持列的新順序,并在查詢模型前轉(zhuǎn)換其列的索引。因此編寫TableModel時(shí),不必偵聽(tīng)列的重排事件,因?yàn)閷⒃谀P妥约旱淖鴺?biāo)系統(tǒng)中查詢它,而不管視圖中發(fā)生了什么情況。在示例部分中有一個(gè)排序算法的演示,此演示正是使用了

5、此技術(shù)在另一個(gè)坐標(biāo)系統(tǒng)中進(jìn)行排序,其中更改行的順序,而不更改列的順序。構(gòu)造方法摘要JTable()構(gòu)造默認(rèn)的JTable,使用默認(rèn)的數(shù)據(jù)模型、默認(rèn)的列模型和默認(rèn)的選擇模型對(duì)其進(jìn)行初始化。JTable(intnumRows,intnumColumns)使用DefaultTableModel構(gòu)造具有空單元格的numRows行和numColumns列的JTable。JTable(Object[][]rowData,Object[]columnNames)構(gòu)造JTable,用來(lái)顯示二維數(shù)組rowData中的值,其列名稱為columnNames。JTable(TableModeldm)構(gòu)

6、造JTable,使用dm作為數(shù)據(jù)模型、默認(rèn)的列模型和默認(rèn)的選擇模型對(duì)其進(jìn)行初始化。JTable(TableModeldm,TableColumnModelcm)構(gòu)造JTable,使用dm作為數(shù)據(jù)模型、cm作為列模型和默認(rèn)的選擇模型對(duì)其進(jìn)行初始化。JTable(TableModeldm,TableColumnModelcm,ListSelectionModelsm)構(gòu)造JTable,使用dm作為數(shù)據(jù)模型、cm作為列模型和sm作為選擇模型對(duì)其進(jìn)行初始化。JTable(VectorrowData,VectorcolumnNames)構(gòu)造JTable,用來(lái)顯示Vectors的Vecto

7、r(rowData)中的值,其列名稱為columnNames。下面我們就來(lái)看一個(gè)范例:代碼如下importjava.awt.*;importjavax.swing.*;/**JTabletest*/publicclassJtableextendsJApplet{publ

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。
关闭