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給我,作為修改的參考。






沒有留言:

張貼留言