2013年1月23日 星期三

JavaFX程式的第一次接觸,從Hello World開始~

每個學程式的朋友,應該都是從印出「Hello World!」開始的吧~雖然我也不太知道來源或是從什麼時候開始。

我的第一個JavaFX程式

在官網上使用的開發工具是NetBeans IDE 7.1,不過現在(2013.1.23)已經更新到7.2版了,所以,檔案的截圖就會是7.2版的。(看起來一樣囉!)
/*
* Author:Letter Lin
* Date:2013/01/23
rld
*/
package hellow
o;
rt javafx.application.Application; imp
imp oort javafx.event.ActionEvent;
r; import javafx.scene.Scene; imp
import javafx.event.EventHandl eort javafx.scene.control.Button;
ne; import javafx.stage.Stage; publi
import javafx.scene.layout.StackP ac class HelloWorld extends Application { /*
cation.Application */ @Override public void start(Stag
* JavaFX程式進入點在start method,類別要繼承javafx.appl ie primaryStage) { Button btn = new Button(); btn.setText("Say 'Hello World'");
() {
btn.setOnAction(new EventHandle r
@Override
public void handle(ActionEvent event) {
System.out.println("Hello World!");
root = new S
} }); StackPan etackPane(); root.getChildren().add(btn);
primaryStage.setTitle("Hello World!");
Scene scene = new Scene(root, 300, 250); primaryStage.setScene(scene); primaryStage.show(); } /*
tic void main(String[] args) { launch(args);
* JavaFX的main() method是用來執行jar檔使用。單純的JavaFx程式可以不需要。 */ public st a }
}
上面的程式碼,直接在NetBeans選擇新專案,如果不改專案名稱,只要按下一步(Next)和FINISH就可以完成了~



JavaFX應用程式的基本架構

JavaFX應用程式基本架構(節錄至http://docs.oracle.com/javafx/2/get_started/hello_world.htm)
  • 所有的JavaFX應用程式主類別都需要繼承javafx.application.Application的類別,而且程式進入點不再是main(),而是start()。
  • JavaFX應用程式定義的使用者介面容器(user interface container)有stage和sence。stage是最高層級的JavaFX容器,而sence是用來承載所有JavaFX程式內容的容器,要顯示可視部分也是依靠sence來定義像素。
  • JavaFX在畫面呈現上,是利用了一層層的節點(Nodes)來作為控制,在這個例子裡,StackPane就是root節點,當使用者想要變更畫面尺寸的時候,便是由它來負責。Botton是子節點(child node),由它來控制按按鈕及之後的文字顯示。
  • main()雖然不再是必要的,但是保留在JavaFX應用程式裡也有好處:可以在沒有不支援JavaFX的機器上運行JAR檔,另外,swing應用程式也需要main()。

程式運行結果

運行結果(節錄至http://docs.oracle.com/javafx/2/get_started/hello_world.htm)

按下RUN之後就會看到畫面出現,按下中間的按鈕,會在下方output的視窗看到Say Hello World。

備註:文章是看著官網自己翻譯出來的,但不是逐字翻譯,如果有建議,希望mail給我,作為修改的參考。






2013年1月20日 星期日

什麼是JavaFX?

前言

因為想自己學JavaFX,所以利用這裡來作筆記,所有資料都是從甲骨文官網及其他網路高手蒐集來的,版權均屬於原作者,請大家如果要使用,切記尊重智慧財產權。

什麼是JavaFX?

JavaFX可以讓程式設計師很簡單的撰寫Rich Internet Applications(RIAs),而且增加了豐富的圖形及媒體的API,另外,Java有的好處它都有,所以原來就會Java的程式設計師,進入的障礙就很低,系統間的轉換以及開發的難度和成本都會降低。

JavaFX的主要特點


  • 與 JDK 7 完全整合
  • Java APIs 都可以使用
  • 採用新的圖形引擎
  • 採用新的FXML
  • 採用新的媒體引擎
  • 可以內崁瀏覽器物件
  • 豐富的UI控制項,也可以利用API自定
  • 完成輸出為應用程式
  • 和Java一樣跨平台
  • 很多的範例可以參考利用(在甲骨文的官網上)
  • 即時更新的文件
工具

如果要撰寫Java FX,必須到甲骨文的官網上面下載JDK 7以及JavaFX Sence Builder,另外配合NetBeans開發會比較方便,如果想要鍛練寫程式的功力,那就用筆記本吧~