JavaFX 2.0 Hello World
在下一個對話框中,您可以指定應用程序的名稱和目標文件夾,該文件夾應存儲在該文件夾中。 如果您已正確安裝JavaFX,則應已指定“ JavaFX Platform”。 否則,您可以通過單擊“管理平臺->添加平臺”并指定JavaFX安裝的路徑來自己添加平臺。
注意:默認情況下,“創建應用程序類”復選框處于選中狀態。 請取消選中它,因為我們將創建自己的應用程序類。
單擊“完成”以創建您的第一個JavaFX應用程序。
JavaFX 2.0中的Hello World –示例1
大概每個軟件開發人員都知道著名的“ HelloWorld”示例,因為該示例通常用于顯示(未知)編程語言的語法并給出語言的初步線索。 我不想破壞這一傳統,因此這里有JavaFX 2.0中HelloWorld程序的2個不同版本。 我將首先顯示完整的代碼,然后說明各個部分。
import javafx.application.Application; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.layout.StackPane; import javafx.stage.Stage;/*** * Created on: 17.03.2012* @author Sebastian Damm*/ public class HelloJavaFX extends Application {@Overridepublic void start(Stage stage) throws Exception{ Button bt = new Button('Print HelloWorld');bt.setOnAction(new EventHandler<ActionEvent>() {@Overridepublic void handle(ActionEvent arg0){System.out.println('HelloWorld! :)');}});StackPane root = new StackPane();Scene scene = new Scene(root, 300, 150);root.getChildren().add(bt);stage.setTitle('HelloWorld in JavaFX 2.0');stage.setScene(scene);stage.show();}public static void main(String[] args){Application.launch(args);} }值得一提的第一件事是,您必須從Application類進行擴展才能創建一個有效的JavaFX應用程序。 此類提供了幾種實時循環方法,并且是您應用程序的起點。 它是一個抽象類(意味著您無法實例化它),它具有一個必須覆蓋的抽象方法start 。 JavaFX運行時為您提供了一個stage對象,您可以使用該對象來顯示您的UI。
要啟動您的應用程序,您必須調用靜態方法launch如本示例中的main方法所示。 啟動應用程序后,它將調用start方法。 這是Application類的JavaDoc,它顯示了啟動JavaFX應用程序時的各個步驟。 JavaFX應用程序的入口點是Application類。 每當啟動應用程序時,JavaFX運行時就會依次執行以下操作:構造指定的Application類的實例
- 調用init()方法
- 調用start(javafx.stage.Stage)方法
- 等待應用程序完成,這可能在關閉最后一個窗口或應用程序調用Platform.exit()時發生
- 調用stop()方法
讓我們start方法中的真實源代碼start 。
首先,我們創建一個簡單的Button并指定一個通過setOnAction方法單擊按鈕時要觸發的動作(比較JButton的addActionListener )。
接下來,我們創建一個StackPane對象,該對象是JavaFX中的布局窗格之一(下一篇博客文章將介紹JavaFX中的所有不同布局窗格)。 我在這里使用StackPane ,因為它會自動占用其周圍父級提供的所有可用空間,并且會自動將其子級內部居中。
注意: JavaFX應用程序的基礎是Scene graph 。 每個Node (包括簡單的控件,組和布局窗格)都是節點的分層樹的一部分,該樹稱為“ Scene graph 。 Scene graph以及整個JavaFX應用程序始終只有一個根節點!
如上所述, start方法具有一個Stage對象參數,該參數由JavaFX運行時提供。 此Stage對象是一種窗口。 您必須為其提供一個Scene對象作為其可見內容。 您可以通過傳遞應用程序的根節點來創建一個Scene對象。 可選參數包括場景的寬度和高度以及Paint對象,其中包括簡單的顏色以及復雜的顏色漸變。
使用root.getChildren().add(bt); 您將按鈕添加到您的根節點,這是一個堆棧窗格。 之后,我們為stage設置標題并應用創建的scene對象。 最后使用show方法,我們告訴stage進行展示。 (比較Swing的setVisible
現在,您的應用程序應如下所示:
如果您單擊按鈕,它將在命令行上打印“ HelloWorld”。 沒什么特別的,但是這是您第一個可以使用的JavaFX應用程序,恭喜! :)
JavaFX 2.0中的Hello World –示例2
Additionally a slightly changed example, which will show the text in the GUI.
The code:
我們在這里使用Group對象,而不是使用布局窗格。 Group是Parent的子類(是Node的子類),并接收一個或多個子代。 Group直接調整大小,您可以向Group添加變換或效果,這將影響Group所有子級。 (請注意,我們現在還提供了“ Scene Paint Scene 。)
接下來,我們創建一個Text對象。 因為沒有布局窗格,所以我們直接指定x和y坐標。 我們指定一種自定義字體,將顏色更改為白色,然后添加一個DropShadow 。 Button還獲得坐標,并且當我們單擊按鈕時,而不是在命令行上打印“ HelloWorld”,而是將創建的Text對象添加到我們的根元素(并因此添加到Scene Graph )。 單擊按鈕后,您的應用程序應如下所示。
摘要:
- JavaFX Stage對象是一種窗口,其行為類似于Swing中的JFrame或JDialog 。
- JavaFX Scene對象是Stage的可見內容,并且具有單個Parent根節點。
- Node是JavaFX中最重要的類之一。 每個控件或布局窗格都是一種節點。
- Scene Graph是節點的分層樹。 它只有一個根節點,是您應用程序的基礎。 它必須傳遞給一個Scene對象
- 為了創建和啟動JavaFX應用程序,您必須完成以下步驟:
- 擴展Application類
參考: JavaFX 2.0中的Hello World,來自我們的JCG合作伙伴 Sebastian Damm,作者關于Java博客的Just my 2 cents 。
翻譯自: https://www.javacodegeeks.com/2012/06/javafx-20-hello-world.html
總結
以上是生活随笔為你收集整理的JavaFX 2.0 Hello World的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 快捷键打开投影设置(打开电脑投影快捷键)
- 下一篇: 安徽有什么习俗 安徽有哪些习俗