JavaFX教程 – JavaFX Hello World
以下代码显示了如何在JavaFX中创建一个窗口并添加一个按钮控制到它。 它还显示如何处理按钮的点击事件。
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;
//w w w.j ava 2s . c o m
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
Button btn = new Button();
btn.setText("Say "Hello World"");
btn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
System.out.println("Hello World!");
}
});
StackPane root = new StackPane();
root.getChildren().add(btn);
Scene scene = new Scene(root, 300, 250);
primaryStage.setTitle("Hello World!");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
上面的代码生成以下结果。
注意
JavaFX应用程序的Main类扩展了 javafx.application.Application 类。 start()方法是所有JavaFX应用程序的主要入口点。
javafx.application.Application类提供应用程序生命周期功能,如在运行时初始化,启动,启动和停止。
应用程序类为Java应用程序启动与主线程分离的JavaFX GUI组件提供了一种方法。
main()方法通过传入JavaFX应用程序Application.launch()方法的命令行参数。
访问传递到 launch()方法中的任何参数我们可以调用Application类的getParameters()方法。
执行 Application.launch()方法后,JavaFX应用程序将进入就绪状态,并且框架内部调用start()方法来启动。
调用 start()方法后,该程序在JavaFX线程中运行,而不是在主线程上运行一个JavaFX javafx.stage.Stage 对象是可供开发人员使用。
以下代码显示了覆盖的应用程序start()方法:
@Override
public void start(Stage primaryStage) {...}
JavaFX场景图
JavaFX应用程序通过阶段和场景来定义用户界面容器。
JavaFX Stage 类是顶层JavaFX容器。JavaFX Scene 类是所有内容的容器。
Stage和Scene与Swing名称相比奇怪命名,例如JFrame,JPanel。
JavaFX API将事物建模为剧院或戏剧。
在剧院演员在观众面前演奏。一场戏由一对多的场景组成。所有场景都在舞台上进行。
在JavaFX中, Stage 等效于类似的应用程序窗口到Java Swing API JFrame 或 JDialog 。
Scene对象是一个内容窗格,类似于Java Swing的JPanel。每个场景可以保存子节点对象。
JavaFX节点
在JavaFX中,场景内容表示为a节点的分层场景图。
JavaFX节点是所有场景图形节点的基本基类。
节点可以缩放,变换,翻译和具有效果。
最常用的节点是UI控件和Shape对象。
场景图可以通过使用容器来包含子节点类如Group或Pane类。
在上面的代码中,根节点是一个 StackPane 对象,这是一个可调整大小的布局节点。
根节点包含一个子节点,一个 Button 。
按钮有一个事件处理程序,当按下按钮时打印消息。
一旦子节点已添加到我们的根Group通过 getChildren()。add()方法,我们设置primaryStage的场景并调用show()方法显示JavaFX应用程序窗口。
默认情况下,窗口将允许用户最小化,最大化和退出应用程序。
以下是设置场景并显示JavaFX应用程序窗口(Stage)的代码:
primaryStage.setScene(scene); primaryStage.show();
JavaFX应用程序不需要main()方法当使用JavaFX Packager工具创建JAR文件时。
JavaFX Packager工具会将JavaFX Launcher嵌入JAR文件中。
例子
以下代码显示如何处理命令行参数。
import java.util.List;
//from w w w .j a v a 2 s . c o m
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.effect.SepiaTone;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.HBox;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
public class Main extends Application {
public static void main(String[] args) {
Application.launch(args);
}
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("Title");
final Parameters params = getParameters();
final List<String> parameters = params.getRaw();
final String imageUrl = !parameters.isEmpty() ? parameters.get(0) : "";
primaryStage.show();
}
}

国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码













