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