原文地址:https://www.tutorialspoint.com/javafx/javafx_application.htm
譯者:Eirture
在這章中,我們將詳細(xì)討論 JavaFX 應(yīng)用的結(jié)構(gòu),當(dāng)然也會(huì)學(xué)習(xí)如何創(chuàng)建一個(gè) JavaFX 應(yīng)用程序酬姆。
JavaFX 應(yīng)用結(jié)構(gòu)
通常,一個(gè) JavaFX 應(yīng)用包含三個(gè)主要的控件:Stage、Scene 和 Nodes圆仔。如下圖所示:
Stage(舞臺(tái))
一個(gè) Stage(一個(gè)窗口)包含 JavaFX 應(yīng)用中所有的對(duì)象育灸。它由 javafx.stage 包的 Stage 類表示癌蓖。主 Stage 由系統(tǒng)創(chuàng)建责循。系統(tǒng)創(chuàng)建了 Stage 對(duì)象后,將其作為參數(shù)傳入 Application 類中 start() 方法。
Stage 由 Width 和 Height 這兩個(gè)參數(shù)決定它的位置魔策。Stage 分為內(nèi)容區(qū)域和裝飾(標(biāo)題欄和邊框)。
Stage 有五種可用的形式:
- Decorated
- Undecorated
- Transparent
- Unified
- Utility
必須調(diào)用 show() 方法才能展示 stage 的內(nèi)容河胎。
Scene(場(chǎng)景)
scene 表示 JavaFX 應(yīng)用的物理內(nèi)容闯袒。它包含 scene 圖像所有的內(nèi)容。scene 對(duì)象由 javafx.scene 包中的 Scene 類表示游岳。在一個(gè)實(shí)例中政敢,場(chǎng)景對(duì)象只能添加到一個(gè) stage 中。
可以通過 Scene 類來(lái)實(shí)例化場(chǎng)景吭历。將尺寸(寬和高)和根節(jié)點(diǎn)傳入 stage 的構(gòu)造方法可以控制它的大小堕仔。
Scene Graph(場(chǎng)景圖)和 Nodes(節(jié)點(diǎn))
場(chǎng)景圖是一種用來(lái)組織場(chǎng)景的樹狀數(shù)據(jù)結(jié)構(gòu)。相反晌区,node 是
場(chǎng)景圖的視覺/圖形對(duì)象摩骨。
node 可能包含:
- 幾何(圖形)對(duì)象(2D 和 3D),如:圓形朗若、矩形恼五、多邊形等。
- UI 控件哭懈,如:Button灾馒,Checkbox,Choice Box遣总,Text Area 等睬罗。
- 容器(布局面板),如:Border Pane旭斥,Grid Pane容达,F(xiàn)low Pane 等。
- 多媒體元素垂券,如:Audio花盐,Video 和 Image 對(duì)象。
在 JavaFX 中 javafx.scene 包中的 Node 類表示一個(gè)節(jié)點(diǎn)菇爪。這個(gè)類是所有節(jié)點(diǎn)類的超類算芯。
如前所述,節(jié)點(diǎn)有三種類型:
- 根節(jié)點(diǎn):第一個(gè)場(chǎng)景圖被稱為根節(jié)點(diǎn)凳宙。
-
分支節(jié)點(diǎn)/父節(jié)點(diǎn):有子節(jié)點(diǎn)的節(jié)點(diǎn)被稱為分支節(jié)點(diǎn)/父節(jié)點(diǎn)熙揍。 javafx.scene 包中的 Parent 抽象類是所有父節(jié)點(diǎn)的超類。父節(jié)點(diǎn)有下面這些類型:
- Group:組節(jié)點(diǎn)是包含子節(jié)點(diǎn)列表的集合節(jié)點(diǎn)近速。每當(dāng)渲染組節(jié)點(diǎn)時(shí)诈嘿,它的所有子節(jié)點(diǎn)都按順序渲染堪旧。應(yīng)用于組節(jié)點(diǎn)的任何轉(zhuǎn)換效果,都將應(yīng)用于所有的子節(jié)點(diǎn)奖亚。
- Region:它是所有 JavaFX 基于 UI 控件節(jié)點(diǎn)的基類淳梦。如圖表,面板和控件昔字。
- WebView:這個(gè)節(jié)點(diǎn)管理 Web 引擎并顯示其內(nèi)容爆袍。
- 葉子節(jié)點(diǎn):沒有子節(jié)點(diǎn)的節(jié)點(diǎn)稱為葉子節(jié)點(diǎn)。例如:Rectangle作郭,Ellipse陨囊,Box,ImageView夹攒,MediaView 都是葉子節(jié)點(diǎn)蜘醋。
必須將根節(jié)點(diǎn)傳遞給場(chǎng)景圖。如果將 Group 作為根節(jié)點(diǎn)咏尝,所有的節(jié)點(diǎn)將被附屬到場(chǎng)景压语,并且場(chǎng)景大小的任何改變都不會(huì)影響到場(chǎng)景的布局。
創(chuàng)建 JavaFX 應(yīng)用
創(chuàng)建一個(gè) JavaFX 應(yīng)用编检,需要實(shí)例化 Application 類并且實(shí)現(xiàn)它的抽象方法 start()胎食,我們?cè)谶@個(gè)方法中編寫 JavaFX 應(yīng)用的代碼。
應(yīng)用類
javafx.application 包中的 Application 類是 JavaFX 應(yīng)用的入口允懂。創(chuàng)建 JavaFX 應(yīng)用厕怜,需要繼承這個(gè)類,并且實(shí)現(xiàn)它的抽象方法 start()蕾总。你需要在這個(gè)方法中編寫 JavaFX 圖形的全部代碼粥航。
在 main 方法中,你必須調(diào)用 launch() 方法來(lái)啟動(dòng)應(yīng)用生百。這個(gè)方法內(nèi)部調(diào)用應(yīng)用類的 start() 方法躁锡,如下面的程序。
public class JavafxSample extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
/*
Code for JavaFX application.
(Stage, scene, scene graph)
*/
}
public static void main(String args[]){
launch(args);
}
}
創(chuàng)建一個(gè)經(jīng)典的 JavaFX 應(yīng)用置侍,在 start() 方法中,你需要遵循下面給出的步驟:
- 準(zhǔn)備具有所需節(jié)點(diǎn)的場(chǎng)景圖拦焚。
- 準(zhǔn)備所需大小的場(chǎng)景蜡坊,并將場(chǎng)景圖(場(chǎng)景圖的根節(jié)點(diǎn))添加進(jìn)去。
- 準(zhǔn)備 stage赎败,將場(chǎng)景添加進(jìn)去并展示 stage 的內(nèi)容秕衙。
準(zhǔn)備場(chǎng)景圖
你需要根據(jù)你的應(yīng)用準(zhǔn)備一個(gè)包含所需節(jié)點(diǎn)的場(chǎng)景圖。場(chǎng)景的第一個(gè)節(jié)點(diǎn)是根節(jié)點(diǎn)僵刮,它需要我們創(chuàng)建据忘○信#可以選擇 Group,Region 或者 WebView 作為根節(jié)點(diǎn)勇吊。
Group:Group 由 javafx.scene 包中的 Group 類表示曼追,可以通過實(shí)例化這個(gè)類來(lái)創(chuàng)建一個(gè)組節(jié)點(diǎn),如下所示:
Group root = new Group();
Group 類的 getChildren() 方法返回一個(gè) ObervableList 對(duì)象汉规,它持有所有的節(jié)點(diǎn)礼殊。我們可以獲取該對(duì)象并向其添加子節(jié)點(diǎn),如下所示:
//獲取可觀察列表對(duì)象
ObservableList list = root.getChildren();
//將文本對(duì)象設(shè)置為一個(gè)節(jié)點(diǎn)
list.add(NodeObject);
我們還可以在 Group 類初始化的時(shí)候针史,將節(jié)點(diǎn)對(duì)象傳入它的構(gòu)造方法就可以添加到其中晶伦,如下所示:
Group root = new Group(NodeObject);
Region: 它是所有 JavaFX UI 控制節(jié)點(diǎn)的基類,如:
-
Chart: 這個(gè)類是所有圖表的基類啄枕,它在 javafx.scene.chart 包下婚陪。
它有兩個(gè)子類:PieChart 和 XYChart。這兩個(gè)類又有子類频祝,如 AreaChart泌参,BarChart,BubbleChart 等智润。在 JavaFX 中用于繪制不同類型的平面圖及舍。
你可以使用這些類在你的應(yīng)用中嵌入圖表。 - Pane: 面板是所有布局面板的基類窟绷,例如 AnchorPane锯玛,BorderPane,DialogPane 等兼蜈。Pane 類在 javafx.scene.layout 包中攘残。
-
Control:它是所有用戶界面控制器的基類,例如 Accordion为狸,ButtonBar歼郭,ChoiceBox,ComboBoxBase辐棒,HTMLEditor 等病曾。它在 javafx.scene.control 包中。
你可以用這些類在你的應(yīng)用中插入各種 UI 元素漾根。
在組中泰涂,你可以對(duì)上面提到的類進(jìn)行實(shí)例化,并將其作為根節(jié)點(diǎn)辐怕,如下面的程序所示逼蒙。
//Creating a Stack Pane
StackPane pane = new StackPane();
//Adding text area to the pane
ObservableList list = pane.getChildren();
list.add(NodeObject);
WebView:這個(gè)節(jié)點(diǎn)管理 web 引擎,并展示它的內(nèi)容寄疏。下圖表示 JavaFX 節(jié)點(diǎn)類的層級(jí)是牢。
準(zhǔn)備場(chǎng)景
JavaFX 中的場(chǎng)景通過 javafx.scene 包中的 Scene 類表示僵井。可以通過實(shí)例化這個(gè)類創(chuàng)建一個(gè)場(chǎng)景驳棱,如下面代碼塊所示批什。
實(shí)例化的時(shí)候,必須將根對(duì)象傳給場(chǎng)景類的構(gòu)造方法蹈胡。
Scene scene = new Scene(root);
也可以傳兩個(gè) double 類型的參數(shù)表示場(chǎng)景的寬高渊季,如下所示。
Scene scene = new Scene(root, 600, 300);
準(zhǔn)備 Stage
Stage 是所有 JavaFX 應(yīng)用的容器罚渐,它為應(yīng)用提供一個(gè)窗口却汉。它由 java.stage 包中的 Stage 類表示。Application 類中 start() 方法在參數(shù)中傳遞了這個(gè)類的一個(gè)對(duì)象荷并。
使用這個(gè)對(duì)象合砂,你可以在 stage 上執(zhí)行許多操作。主要如下:
- 使用 setTitle() 方法設(shè)置 stage 標(biāo)題源织。
- 使用 setScene() 方法為 stage 附加場(chǎng)景對(duì)象翩伪。
- 使用 show() 方法展示場(chǎng)景的內(nèi)容,如下所示谈息。
//Setting the title to Stage.
primaryStage.setTitle("Sample application");
//Setting the scene to Stage
primaryStage.setScene(scene);
//Displaying the stage
primaryStage.show();
JavaFX 應(yīng)用的生命周期
JavaFX 應(yīng)用類有三個(gè)生命周期方法缘屹,分別是:
- start():編寫 JavaFX 圖形代碼的入口方法。
- stop():一個(gè)可以被覆蓋的空方法侠仇,可以在這里寫停止應(yīng)用的邏輯轻姿。
-
init():一個(gè)可以被覆蓋的空方法,但是不能在這個(gè)方法中創(chuàng)建 stage 或場(chǎng)景逻炊。
除此之外互亮,它提供一個(gè) launch() 的靜態(tài)方法來(lái)啟動(dòng) JavaFX 應(yīng)用。
由于 launch() 是靜態(tài)方法余素,你需要在靜態(tài)上下文中調(diào)用它(一般在 main 方法)豹休。每當(dāng) JavaFX 應(yīng)用啟動(dòng)時(shí),將執(zhí)行以下操作(按順序)桨吊。 - 創(chuàng)建一個(gè)應(yīng)用類的實(shí)例威根。
- 調(diào)用 init() 方法。
- 調(diào)用 start() 方法视乐。
- 啟動(dòng)器等待應(yīng)用程序結(jié)束并調(diào)用 stop() 方法医窿。
終止 JavaFX 應(yīng)用
當(dāng)程序最后一個(gè)窗口被關(guān)閉,應(yīng)用隱式關(guān)閉炊林。可以通過給靜態(tài)方法 setImplicitExit() 方法傳入 Boolean 值 "False" 關(guān)閉這個(gè)行為(應(yīng)該從靜態(tài)上下文中調(diào)用)卷要。
可以通過 Platform.exit() 或 System.exit(int) 方法隱式終止 JavaFX 應(yīng)用渣聚。
案例 1:創(chuàng)建一個(gè)空窗口
本章節(jié)教你如何創(chuàng)建一個(gè)顯示空窗口的 JavaFX 樣例應(yīng)用独榴。步驟如下:
第一步:創(chuàng)建一個(gè)類
創(chuàng)建一個(gè) Java 類,繼承 javafx.application 包中的 Application 類并實(shí)現(xiàn)它的 start() 方法奕枝,如下:
public class JavafxSample extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
}
}
第二步:創(chuàng)建一個(gè)組對(duì)象
在 start() 方法中棺榔,實(shí)例化一個(gè) javafx.scene 包中的 Group 類的對(duì)象,如下隘道。
Group root = new Group();
第三步:創(chuàng)建一個(gè)場(chǎng)景對(duì)象
通過實(shí)例化 javafx.scene 包中的 Scene 類創(chuàng)建一個(gè)場(chǎng)景症歇。為它傳入前一步創(chuàng)建的組對(duì)象 (root)。
除了根對(duì)象谭梗,也可以在它的后面忘晤,傳入兩個(gè) double 參數(shù)來(lái)設(shè)置場(chǎng)景的寬高。如下:
Scene scene = new Scene(root, 600, 300);
第四步:設(shè)置 Stage 的標(biāo)題
可以通過 Stage 類的 setTitle() 方法設(shè)置 stage 的標(biāo)題激捏。primaryStage 是作為參數(shù)傳遞給應(yīng)用類 start 方法的 Stage 對(duì)象设塔。
使用 primaryStage 對(duì)象設(shè)置場(chǎng)景的標(biāo)題為 "Sample Application",如下所示远舅。
primaryStage.setTitle("Sample Application");
第五步:將場(chǎng)景添加到 Stage 中
可以通過 Stage 類的 setScene() 方法將場(chǎng)景對(duì)象添加到 stage 中闰蛔。使用如下所示的方法,添加前面準(zhǔn)備的場(chǎng)景對(duì)象图柏。
primaryStage.setScene(scene);
第六步:展示 Stage 內(nèi)容
像下面這樣使用 Stage 類的 show() 方法顯示場(chǎng)景的內(nèi)容序六。
primaryStage.show();
第七步:?jiǎn)?dòng)應(yīng)用
如下所示,在 main() 方法中調(diào)用 Application 類的靜態(tài)方法 launch() 啟動(dòng) JavaFX 應(yīng)用蚤吹。
public static void main(String args[]){
launch(args);
}
完整案例
下面的程序生成一個(gè)空的 JavaFX 窗口例诀。將下面的代碼保存在 JavafxSample.java 文件中。
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
public class JavafxSample extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
//creating a Group object
Group group = new Group();
//Creating a Scene by passing the group object, height and width
Scene scene = new Scene(group ,600, 300);
//setting color to the scene
scene.setFill(Color.BROWN);
//Setting the title to Stage.
primaryStage.setTitle("Sample Application");
//Adding the scene to Stage
primaryStage.setScene(scene);
//Displaying the contents of the stage
primaryStage.show();
}
public static void main(String args[]){
launch(args);
}
}
使用下面的命令在命令行編譯執(zhí)行保存的 Java 文件距辆。
javac JavafxSample.java
java JavafxSample
執(zhí)行時(shí)余佃,上述程序生成一個(gè) JavaFX 窗口。
案例 2:繪制直線
在前面的例子中跨算,我們看到如何創(chuàng)建一個(gè)空的 stage”粒現(xiàn)在,在這個(gè)例子中诸蚕,讓我們使用 JavaFX 庫(kù)試著繪制一條直線步势。
步驟如下:
第一步:創(chuàng)建一個(gè)類
創(chuàng)建一個(gè)類,繼承 javafx.application 包中的 Application 類背犯,并且實(shí)現(xiàn)它的 start() 方法坏瘩,如下所示:
public class DrawingLine extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
}
}
第二步:創(chuàng)建一條線
可以通過實(shí)例化 javafx.scene.shape 包中的 Line 類來(lái)創(chuàng)建一條線,像下面這樣實(shí)例化這個(gè)類漠魏。
//Creating a line object
Line line = new Line();
第三步:設(shè)置線條屬性
通過各自的寫訪問器方法倔矾,設(shè)置 startX,startY,endX 和 endY 屬性來(lái)指定在 X-Y 坐標(biāo)繪制的位置哪自。如下所示丰包。
line.setStartX(100.0);
line.setStartY(150.0);
line.setEndX(500.0);
line.setEndY(150.0);
第四步:創(chuàng)建一個(gè)組對(duì)象
在 start() 方法中,通過實(shí)例化 javafx.scene 包中的 Group 類創(chuàng)建一個(gè)組對(duì)象壤巷。
將前面創(chuàng)建的線條(節(jié)點(diǎn))對(duì)象作為參數(shù)傳入 Group 類的構(gòu)造方法中邑彪,以便將其添加到組中,如下:
Group root = new Group(line);
第五步:創(chuàng)建一個(gè)場(chǎng)景對(duì)象
通過實(shí)例化 javafx.scene 包中的的 Scene 類創(chuàng)建一個(gè)場(chǎng)景對(duì)象胧华。給這個(gè)類傳入前面創(chuàng)建的組對(duì)象 (root)寄症。
除了根對(duì)象,也可以在它的后面矩动,傳入兩個(gè) double 參數(shù)來(lái)設(shè)置場(chǎng)景的寬高有巧。如下:
Scene scene = new Scene(root, 600, 300);
第六步:設(shè)置 stage 的標(biāo)題
可以通過 Stage 類的 setTitle() 方法設(shè)置 stage 的標(biāo)題。primaryStage 是作為參數(shù)傳遞給應(yīng)用類 start 方法的 Stage 對(duì)象铅忿。
使用 primaryStage 對(duì)象設(shè)置場(chǎng)景的標(biāo)題為 "Sample Application"剪决,如下所示。
primaryStage.setTitle("Sample Application");
第七步:將場(chǎng)景添加到 Stage 中
可以通過 Stage 類的 setScene() 方法將場(chǎng)景對(duì)象添加到 stage 中檀训。使用如下所示的方法柑潦,添加前面準(zhǔn)備的場(chǎng)景對(duì)象。
primaryStage.setScene(scene);
第八步:展示 Stage 內(nèi)容
像下面這樣使用 Stage 類的 show() 方法顯示場(chǎng)景的內(nèi)容峻凫。
primaryStage.show();
第九步:?jiǎn)?dòng)應(yīng)用
如下所示渗鬼,在 main() 方法中調(diào)用 Application 類的靜態(tài)方法 launch() 啟動(dòng) JavaFX 應(yīng)用。
public static void main(String args[]){
launch(args);
}
完整案例
下面的程序展示如何使用 JavaFX 生成一條直線荧琼。將下面的代碼保存在 JavafxSample.java 文件中譬胎。
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.shape.Line;
import javafx.stage.Stage;
public class DrawingLine extends Application{
@Override
public void start(Stage stage) {
//Creating a line object
Line line = new Line();
//Setting the properties to a line
line.setStartX(100.0);
line.setStartY(150.0);
line.setEndX(500.0);
line.setEndY(150.0);
//Creating a Group
Group root = new Group(line);
//Creating a Scene
Scene scene = new Scene(root, 600, 300);
//Setting title to the scene
stage.setTitle("Sample application");
//Adding the scene to the stage
stage.setScene(scene);
//Displaying the contents of a scene
stage.show();
}
public static void main(String args[]){
launch(args);
}
}
使用下面的命令在命令行編譯執(zhí)行保存的 Java 文件。
javac JavafxSample.java
java JavafxSample
執(zhí)行時(shí)命锄,上述程序生成如下所示的 JavaFX 窗口堰乔。
案例 3:顯示文字
我們還可以在 JavaFX 場(chǎng)景中陷入文本。這個(gè)例子展示如何在 JavaFX 中潛入文本脐恩。
步驟如下:
第一步:創(chuàng)建一個(gè)類
創(chuàng)建一個(gè)類镐侯,繼承 javafx.application 包中的 Application 類,并且實(shí)現(xiàn)它的 start() 方法驶冒,如下所示:
public class DrawingLine extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
}
}
第二步:嵌入文本
你可以通過實(shí)例化 javafx.scene.shape 包中的 Text 類在 JavaFX 場(chǎng)景中嵌入文字苟翻。實(shí)例化如下。
將需要嵌入的文本字符串傳入它的構(gòu)造方法中骗污,如下崇猫。
//Creating a Text object
Text text = new Text("Welcome to Tutorialspoint");
第三步:設(shè)置字體
可以使用 Text 類的 setFont() 方法設(shè)置文本字體。這個(gè)方法接收一個(gè)字體對(duì)象的參數(shù)需忿。像下面為文本設(shè)置 45 號(hào)字體诅炉。
//Setting font to the text
text.setFont(new Font(45));
第四步:設(shè)置文本位置
通過各自的寫訪問器 setX() 和 setY() 方法蜡歹,設(shè)置 X,Y 坐標(biāo)來(lái)指定文本在 X-Y 坐標(biāo)中的位置涕烧,如下季稳。
//setting the position of the text
text.setX(50);
text.setY(150);
第五步:創(chuàng)建一個(gè)組對(duì)象
在 start() 方法中,通過實(shí)例化 javafx.scene 包中的 Group 類創(chuàng)建一個(gè)組對(duì)象澈魄。
將前面創(chuàng)建的文本(節(jié)點(diǎn))對(duì)象作為參數(shù)傳入 Group 類的構(gòu)造方法中,以便將其添加到組中仲翎,如下:
Group root = new Group(text);
第六步:創(chuàng)建一個(gè)場(chǎng)景對(duì)象
通過實(shí)例化 javafx.scene 包中的的 Scene 類創(chuàng)建一個(gè)場(chǎng)景對(duì)象痹扇。給這個(gè)類傳入前面創(chuàng)建的組對(duì)象 (root)。
除了根對(duì)象溯香,也可以在它的后面鲫构,傳入兩個(gè) double 參數(shù)來(lái)設(shè)置場(chǎng)景的寬高。如下:
Scene scene = new Scene(root, 600, 300);
第七步:設(shè)置 stage 的標(biāo)題
可以通過 Stage 類的 setTitle() 方法設(shè)置 stage 的標(biāo)題玫坛。primaryStage 是作為參數(shù)傳遞給應(yīng)用類 start 方法的 Stage 對(duì)象结笨。
使用 primaryStage 對(duì)象設(shè)置場(chǎng)景的標(biāo)題為 "Sample Application",如下所示湿镀。
primaryStage.setTitle("Sample Application");
第八步:將場(chǎng)景添加到 Stage 中
可以通過 Stage 類的 setScene() 方法將場(chǎng)景對(duì)象添加到 stage 中炕吸。使用如下所示的方法,添加前面準(zhǔn)備的場(chǎng)景對(duì)象勉痴。
primaryStage.setScene(scene);
第九步:展示 Stage 內(nèi)容
像下面這樣使用 Stage 類的 show() 方法顯示場(chǎng)景的內(nèi)容赫模。
primaryStage.show();
第十步:?jiǎn)?dòng)應(yīng)用
如下所示,在 main() 方法中調(diào)用 Application 類的靜態(tài)方法 launch() 啟動(dòng) JavaFX 應(yīng)用蒸矛。
public static void main(String args[]){
launch(args);
}
完整案例
下面的程序使用 JavaFX 顯示文本瀑罗。將下面的代碼保存在 JavafxSample.java 文件中。
import javafx.application.Application;
import javafx.collections.ObservableList;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.text.Font;
import javafx.scene.text.Text;
public class DisplayingText extends Application {
@Override
public void start(Stage stage) {
//Creating a Text object
Text text = new Text();
//Setting font to the text
text.setFont(new Font(45));
//setting the position of the text
text.setX(50);
text.setY(150);
//Setting the text to be added.
text.setText("Welcome to Tutorialspoint");
//Creating a Group object
Group root = new Group();
//Retrieving the observable list object
ObservableList list = root.getChildren();
//Setting the text object as a node to the group object
list.add(text);
//Creating a scene object
Scene scene = new Scene(root, 600, 300);
//Setting title to the Stage
stage.setTitle("Sample Application");
//Adding scene to the stage
stage.setScene(scene);
//Displaying the contents of the stage
stage.show();
}
public static void main(String args[]){
launch(args);
}
}
使用下面的命令在命令行編譯執(zhí)行保存的 Java 文件雏掠。
javac JavafxSample.java
java JavafxSample
執(zhí)行時(shí)斩祭,上述程序生成展示文本的 JavaFX 窗口,如下所示乡话。