999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

JavaFX中列表視圖的應用與研究

2018-03-29 09:03:10郭強
數字技術與應用 2018年1期

郭強

摘要:JavaFX作為替代了Swing作為Java語言進行圖形界面開發的新工具,正在得到越來越多的開發者的支持[1]。而作為一種新的界面開發工具,相關教材上對于其具體應用并不詳盡,尤其是對一些復雜的組件的介紹,如在這里要介紹的列表視圖組件TableView,作為一個功能強大的組件,它的使用還存在著許多需要普及和重視的方面,在這里對TableView的功能進行挖掘。

關鍵詞:JavaFX;TableView;組件

中圖分類號:TP393.09 文獻標識碼:A 文章編號:1007-9416(2018)01-0106-01

雖然JavaFX已經得到Oracle公司和相關組織的全力支持,但由于Swing存在的時間長,已經得到了廣大開發者的認可,很多開發者對JavaFX的理解并不深刻[2]。而TableView作為JavaFX中的一個常用的組件,常常用來進行數據條目的顯示和操作,其功能非常強大,定義了繁多的API幫助開發者實現對數據的不同操作,而且自身還具有排序、多重排序等功能。因此能夠深入的理解TableView的使用將會為程序設計開發帶來非常大的便利,關于TableView的使用使這里要介紹的內容

1 TableView結構

TableView以表格的形式顯示和加載數據,所以像表格一樣,一個TableView對象需要定義它的列,因此TableView經常需要和TableColumn、TableCell對象進行組合使用,分別來指定表格的列和數據單元。

1.1 TableView

TableView用以對數據進行表格形式的顯示。JavxFX在定義時賦予了排序,調整列寬的功能,而TableView的數據來源可以是從數據庫中讀取的數據集進行加載得到,也可以從開發者定義的ObservableList對象中獲取。但是終究是要從ObservableList對象中得到數據,所以ObservableList對象成為了數據的來源。TableView對象通過setItems(ObservableLis)方法將數據添加。此外當ObservableList中的數據發生變化時,TableView中的數據顯示可以實現同步的效果,這一點非常重要。

1.2 數據模型

數據模型提供了TableView數據源的模型,即數據的表現形式,在JavaFX中通過定義類來表述數據模型,類中的數據屬性對應了數據源的列名,并需要對所有的屬性提供public所修飾的set和get方法嗎,而且在這里需要對方法名提出嚴格的要求,需要是setXxx或getXxx的形式,如對于name屬性,需要提供setName和getName方法。而在定義ObservableList對象的數據類型時,需要與數據模型的類型保持一致。

1.3 TableColumn

TableColumn定義了數據顯示在TableView中的列名,所以需要讓TableColumn與數據模型建立聯系,讓TableColumn中的每一個列對應數據模型的一個屬性。

userNameTCloumn = new TableColumn<>( “用戶名” );

userNameTCloumn.setCellValueFactory( new PropertyValueFactory( “userName” ) );

在這里TableColumn對象userNameTCloumn定義為一個名為”用戶名”的列,通過.setCellValueFactory方法與數據模型userInfo的userName建立了聯系。

最后通過TableView的getColumns().addAll(TableColumn)方法將TableColumn添加到TableView視圖中。

1.4 TableCell

TableCell作為TableView中的一個數據單元而存在,常常用來加載非數據的內容,例如加載一個超鏈接、按鈕或者一張圖片,可以強化TableView的功能。

2 重寫方法,豐富TableView功能

上面我們已經提到可以通過使用TableCell來強化視圖的功能,那么就需要重寫相關方法來實現。在這里以顯示超鏈接為列子來說明。

想要在列表視圖TableView中的數據單元格中顯示一個超鏈接,那么首先要操作超鏈接所對應的TableColumn對象。

TableColumn對象通過調用setCellFactory方法,重寫Callback, TableCell>()對象的public TableCell call( TableColumn param )方法,該方法提供了重寫的接口,可以在該方法中定義需要顯示在該列中的組件包括超鏈接、按鈕或者圖片等。

首先定義一個HyperlinkTableCell對象,用于承載一個超鏈接組件,通過.getGraphic()方法得到一個超鏈接對象,在這里需要使用強制類型轉換,在超鏈接對象上添加事件響應,通過setOnAction方法,定義點擊超鏈接時發生的事件響應,實現界面的跳轉。

程序的運行結果如圖1所示。

可以看到數據表格中”查看”列是以一個超鏈接的形式進行顯示,這個TableColumn對象是被重寫的對象。除此之外還可以通過類似的方式實現表格數據編輯、刪除等功能。

3 結語

JavaFX是一個具有光明未來的界面開發工具,它的用途不僅局限于APP,在互聯網,移動開發上也具有強大的功能,對于它的學習還需要更加深入,而本文的TableView作為其中一個相對復雜強大的組件應用也顯得非常重要,它的用途也會被人們所重視。

參考文獻

[1]黃雁.JavaFX技術初探[J].電腦知識與技術,2010,06(15):3978-3979.

[2]蔡學鏞.JavaFX精粹[J].程序員,2007,(11):111-113.

主站蜘蛛池模板: 无码福利日韩神码福利片| 永久免费无码日韩视频| 欧美性猛交xxxx乱大交极品| 2020亚洲精品无码| 蜜桃视频一区二区| 欧美国产综合色视频| 欧美日本不卡| 久久综合伊人77777| 91色在线观看| 亚洲综合激情另类专区| 亚洲无码高清免费视频亚洲 | 亚洲视频在线网| 日本欧美一二三区色视频| 麻豆国产精品一二三在线观看| 香蕉久久国产超碰青草| 日韩大乳视频中文字幕| 国产真实乱子伦视频播放| 国产乱子伦手机在线| 亚洲国产看片基地久久1024| 欧美日韩久久综合| 亚洲国产亚洲综合在线尤物| Jizz国产色系免费| 特级毛片8级毛片免费观看| 美女被操黄色视频网站| 久久综合伊人 六十路| 精品乱码久久久久久久| 亚洲欧美一区二区三区蜜芽| 国产亚洲精品自在久久不卡| 欧美午夜理伦三级在线观看| 午夜毛片福利| 亚洲日本在线免费观看| 996免费视频国产在线播放| 国产凹凸视频在线观看| 在线观看精品国产入口| 亚洲精品国产成人7777| 五月天综合网亚洲综合天堂网| 91在线无码精品秘九色APP| 国产激爽大片高清在线观看| 国产第一页屁屁影院| 午夜少妇精品视频小电影| 综合亚洲色图| 国产精品视频3p| 亚洲欧美日韩中文字幕在线一区| 精品一区二区三区波多野结衣| 亚洲男人的天堂网| 国产性猛交XXXX免费看| 国产理论精品| 免费毛片a| 国产喷水视频| 新SSS无码手机在线观看| 成人福利在线免费观看| 亚洲欧美激情另类| 在线亚洲精品福利网址导航| 日韩东京热无码人妻| 无码精油按摩潮喷在线播放 | 亚洲欧美综合另类图片小说区| 欧美在线网| 中字无码av在线电影| 国产麻豆另类AV| 99这里只有精品免费视频| 日韩黄色大片免费看| 熟妇丰满人妻av无码区| 99草精品视频| 67194在线午夜亚洲| 69av在线| 美女扒开下面流白浆在线试听| 欧美福利在线观看| 色天天综合| 久久人妻xunleige无码| 亚洲成A人V欧美综合| 久久久久久久久久国产精品| 欧美成在线视频| 国产99在线| 伊人成色综合网| 中文字幕免费视频| 日韩欧美高清视频| 天堂在线视频精品| 伊人蕉久影院| 国产毛片不卡| 91在线日韩在线播放| 国产精品片在线观看手机版 | 亚洲有码在线播放|