亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

        郭強

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

        關鍵詞:JavaFX;TableView;組件

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

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

        1 TableView結(jié)構(gòu)

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

        1.1 TableView

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

        1.2 數(shù)據(jù)模型

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

        1.3 TableColumn

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

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

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

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

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

        1.4 TableCell

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

        2 重寫方法,豐富TableView功能

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

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

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

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

        程序的運行結(jié)果如圖1所示。

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

        3 結(jié)語

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

        參考文獻

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

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

        色妞色视频一区二区三区四区| 国内精品嫩模av私拍在线观看 | av手机天堂在线观看| 国产麻豆久久av入口| 亚洲精品国产suv一区88| 国产精品半夜| 美女福利一区二区三区在线观看 | 在线亚洲午夜理论av大片| 无码日韩人妻AV一区免费| 国内专区一区二区三区| 一区二区三区国产精品乱码| 国产深夜男女无套内射| 午夜毛片午夜女人喷潮视频| av资源吧首页在线观看| 国产婷婷色一区二区三区深爱网| 无码少妇精品一区二区免费动态| 狼人国产精品亚洲| 亚洲一区二区三区新视频| 午夜天堂一区人妻| 中文字字幕在线精品乱码| 91情侣视频| 日韩一级137片内射视频播放| 加勒比hezyo黑人专区| 丰满人妻无奈张开双腿av| 日韩精品视频在线观看免费| 国产一级内射一片视频免费| 无码国内精品久久人妻| 亚洲色图+国产精品| 国产乱老熟视频乱老熟女1| 懂色av一区二区三区尤物| 影音先锋男人站| 亚洲视频高清| 国产午夜福利小视频在线观看| 日本大乳高潮视频在线观看| 日韩一欧美内射在线观看| 国产99久久精品一区| 蜜桃18禁成人午夜免费网站| 国产xxxx99真实实拍| 丰满熟妇人妻av无码区| 国产不卡在线观看视频| 风韵多水的老熟妇|