Java視窗種類

      在〈Java視窗種類〉中尚無留言

早期的Java, 對開發視窗程式的功能極為薄弱, 後來經過了Swing, 再進階到JavaFX, 已可達商業化的標準. 底下對各種API作一個簡易的說明

Java AWT

AWT是Java最早期的視窗framework. 不過沒多久就被Java Swing取代了.

Java Swing

Java Swing是架構在AWT之上的API, 可建立輕量級的視窗程式, 紅極一時, 也是目前許多專案的首選.

JavaFX

JavaFX可以用來設計擁有輕量且高效能使用者圖形介面(Graphical User Interface, GUI)的應用程式(Application),還能作為Rich internet application來發佈。相較於傳統Java使用Awt、Swing實作Application(或是Applet)的方式,JavaFX提供了更多、更好的工具以及函式庫協助開發應用程式,而且製作出來的程式效能更好,畫面更美!

JavaFX 1.X是以JavaFX Script的形式撰寫程式,其副檔名為fx
由於JavaFX Script與傳統Java差異甚多,開發人員需花費較多的時間學習,也因此JavaFX Script並未受到很大的重視。

至JavaFX 2.0,Oracle將JavaFX重新改寫,以Java語法取代原JavaFX Script語法與移除支援手機的Mobile版本,並正式併入Java SE 7 Update 6中,將原有的JavaFX編譯器 (javafxc.exe) 與直譯器 (javafx.exe),以Java編譯器 (javac.exe) 與直譯器 (java.exe) 取代,因此可使用同一個編譯器編譯Java與JavaFX程式。

Oracle發佈的Java 8後,JavaFX不再提供JavaFX SDK,而是直接將JavaFX作為函式庫,內建在JDK和JRE中,並且將版本號碼跟著Java,稱為JavaFX 8,而不再是以前的JavaFX 2.1、JavaFX 2.2了。

開發JavaFX應用程式需繼承javafx.application.Application抽象類別,Application抽象類別類似於Java Swing的JApplet類別,同樣有其「生命週期」,分別為:

init():初始化JavaFX應用程式
start():為JavaFX應用程式的進入點,在此為Java Applet
launch():啟動獨立 (Standalone) 的JavaFX應用程式,在此為視窗程式
stop():當JavaFX應用程式結束之前,將執行stop()方法。

IDEA JavaFX

在IDEA 開啟新專案時, 選取Java FX

javafx

開啟後, 在src下會有Controller, Main, sample.fxml三個檔案, 這是採用MVC(Module/View/Control)模式設計. fxml可以使用SceneBuilder拖曳所需的元件.

javafx_program

此模式建立出來的, 是使用Java語言撰寫, 直接按右上方的三角型即可執行.

SceneBuilder

SceneBuilder是由Oracle 開發的可視覺化UI設計程式. 讓開發者可以使用拖曳的方式設計UI. 這種WYSWYG的功能, 可能會讓許多人覺的不屑. 那些人會覺的不屑呢? 就那些沒寫過專案的人

當一個專案在開發階段, UI的繪製撰寫是非常煩人的. 所以任何的程式語言, 如果沒有這種WYSWYG的功能, 幾乎不可能普級化, 因為達不到商業開發的目的.

C# 有WPF, Python有wxFormBuilder, Java當然也必需有這種可以使用拖曳的方式來產生UI.

SceneBuilder即油此而生, 不過, 產生出來的, 都是以Java的語言所寫成.

TornadoFX

TornadoFX架構在JavaFX之上, 是專為Kotlin開發的API

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *