郭強++吳朝霞
摘要:JavaFX是當(dāng)前Java語言開發(fā)使用的一種較新的圖形界面開發(fā)工具,是Oracle面向開發(fā)者提供的用于取代原有的圖形界面開發(fā)工具Swing的新利器,本文主要闡述了JavaFX的體系結(jié)構(gòu)及基本應(yīng)用,同時分析了JavaFX作為一種新技術(shù)在圖形界面開發(fā)中的優(yōu)勢,分析了使用JavaFX對應(yīng)用系統(tǒng)的設(shè)計和實現(xiàn)的基本方法,使用到了MySQL數(shù)據(jù)庫來實現(xiàn)應(yīng)用系統(tǒng)的功能。
關(guān)鍵詞:JavaFX 圖形界面 MySQL
中圖分類號:TP393.09 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2016)12-0177-01
雖然各種高級程序設(shè)計語言如C、C++、Java等的出現(xiàn)已經(jīng)有很長的歷史,但隨著計算機系統(tǒng)的不斷更新,無論是用戶還是開發(fā)者都對應(yīng)用軟件提出了更高的要求,而各種程序設(shè)計語言也不甘人后,也都在進(jìn)行著自己的更新?lián)Q代,JavaFX正是Java語言適應(yīng)新環(huán)境的利器。JavaFX的出現(xiàn)取代了原來的Swing組件。相較于Swing,JavaFX融入現(xiàn)代GUI技術(shù),可以更好的進(jìn)行富因特網(wǎng)應(yīng)用(RIA)的開發(fā),同時GUI提供了多點觸控支持,可以更好的滿足現(xiàn)在日益流行的觸摸控制的設(shè)備,JavaFX對2D、3D和視頻等多媒體元素的支持也更好。
1 JavaFX框架結(jié)構(gòu)
1.1 JavaFX基本結(jié)構(gòu)
JavaFX對圖形界面,完全的脫離了Swing的結(jié)構(gòu),采用了全新的方式,JavaFX圖形界面的顯示依靠舞臺、場景等。
舞臺(Stage):用于承載整個界面的內(nèi)容,一個舞臺就意味著一個可視化界面,在JavaFX中,一個界面對應(yīng)了一個Stage對象,不同于Swing,JavaFX通過使用Stage對象的launch()方法來啟動一個圖形界面。
場景(Scene):場景用于承載界面上的具體的組件,可以將組件直接布局在場景上,一般來講,一個舞臺對應(yīng)了一個場景。
面板:JavaFX中的面板與Swing中的面板并無二致,起到了對組件布局的作用。可以通過面板對組件的大小和位置進(jìn)行控制。
組件(Component):指的是在界面上具體顯示的元素,主要包含了按鈕、標(biāo)簽以及其他的組件。
1.2 組件介紹
布局面板:用于對界面上的組件進(jìn)行布局,使其按照指定的形式排列位置和顯示大小,包括Flow Pane,Grid Pane,Border Pane,HBox和VBox。
組合框:Combo Box是允許用戶從多個選項中選擇一項。
Table View(列表視圖) :用于以表格形式展現(xiàn)數(shù)據(jù)的類。同時內(nèi)置提供了對表格列數(shù)據(jù)排序、自動調(diào)整列寬功能。
復(fù)選框和單選框:復(fù)選框允許用戶在一個選擇列表中同時選中多個選項。單選框則限制只能選中其中一個。
2 基于JavaFX的簡單銀行卡管理系統(tǒng)的實現(xiàn)
銀行卡管理系統(tǒng)是一種典型的系統(tǒng)管理軟件,基于B/S和C/S模式的都很常見,在這里了為了更好地比較JavaFX與Swing的關(guān)系,采用B/S的形式來實現(xiàn)該系統(tǒng)。
要使用JavaFX實現(xiàn)界面的創(chuàng)建,需要在現(xiàn)有開發(fā)環(huán)境的基礎(chǔ)上安裝和配置JavaFX插件,然后使用JavaFX的相關(guān)類和方法創(chuàng)建界面,利用布局面板和組件搭建整個顯示效果。
顯示界面搭建之后,為了能更好的測試系統(tǒng),需要連接MySQL來檢測數(shù)據(jù)的顯示和操作功能。
2.1 JavaFX環(huán)境搭建
Oracle公司為了推動JavaFX的發(fā)展,不僅停止了對Swing的更新,而且為JavaFX的環(huán)境搭建創(chuàng)造了便利,可以直接在Eclipse等工具中,直接通過指定的資源鏈接下載和配置開發(fā)環(huán)境。
2.2 連接MySQL
在JavaFX中,連接數(shù)據(jù)庫的方法并沒有改變。依然有ODBC-JDBC橋接和使用數(shù)據(jù)庫驅(qū)動這兩種方法,為了讓系統(tǒng)具有更好的可移植性,使用數(shù)據(jù)庫驅(qū)動的連接方式,在DataDB.java中提供了數(shù)據(jù)庫連接和數(shù)據(jù)處理的相關(guān)接口。在MySQL中創(chuàng)建了兩個表userInfo和accountInfo分別用于用戶信息和用戶銀行卡信息的存儲。
2.3 登錄界面
實現(xiàn)用戶的登錄功能,由Login.java文件負(fù)責(zé)處理界面的顯示,主要包含了按鈕,文本框,密碼框等組件示,同時負(fù)責(zé)對用戶名和密碼的校驗,顯示提示信息。
2.4 用戶信息管理
由userInfo.java負(fù)責(zé)顯示用戶的詳細(xì)信息,信息來源于數(shù)據(jù)庫和用戶的注冊添加,在此使用到了TableView組件進(jìn)行信息的顯示和編輯,相較于Swing這是一種新的嘗試,TableView的強大功能決定了信息管理的易操作的優(yōu)勢。
2.5 銀行卡信息管理
AccountInfo.java同樣使用到了TableView組件,依靠MySQL中兩張數(shù)據(jù)庫表的關(guān)聯(lián),實現(xiàn)對指定用戶的銀行卡進(jìn)行管理的功能,利用SQL語言實現(xiàn)對信息的綜合查詢。
3 結(jié)語
JavaFX作為Java語言程序開發(fā)的新工具,具有它特有的優(yōu)勢,無論在桌面應(yīng)用還是在Web應(yīng)用上,它都具有更強的生命力,它是一種更穩(wěn)定,功能更強大的GUI開發(fā)選擇,而JavaFX在Web應(yīng)用上也具有它的優(yōu)勢,還需要我們繼續(xù)學(xué)習(xí)和探討。
參考文獻(xiàn)
[1]黃雁.JavaFX技術(shù)初探[J].電腦6)知識與技術(shù),2010(06).
[2]路遙,藍(lán)科,王震.RIA開發(fā)權(quán)威指南——基于 JavaFX[M].北京:電子工業(yè)出版社,2009.
[3](美)Gail Anderson,Paul Anderson.JavaFX本質(zhì)論[M].Sun亞洲全球化中心,譯.北京:人民郵電出版社,2009.