JavaFX快速入门

使用-javaFx 创建Hello World项目

打开Eclipse,并在Eclipse中选择:

File -> New -> Others..

这里写图片描述

创建一个项目名称为:HelloJavaFx,如下图中所示 -

这里写图片描述

项目创建成功以后,如下图中所示 -

这里写图片描述

还创建了Hello World示例代码,如下所示 -

package application;

import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.layout.BorderPane;


public class Main extends Application {
    @Override
    public void start(Stage primaryStage) {
        try {
            BorderPane root = new BorderPane();
            Scene scene = new Scene(root,400,400);
            scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
            primaryStage.setScene(scene);
            primaryStage.show();
        } catch(Exception e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        launch(args);
    }
}

首先,让我们确保运行Hello World例子成功。 右键单击主类(Main)并选择:

Run As -> Java Application

这里写图片描述

JavaFX的Hello World应用正在运行,结果是一个空白的界面,如下:

这里写图片描述

使用JavaFX Scene Builder的示例

这是一个小例子,使用Scene Builder来设计应用程序界面。应用于该示例的MVC的模型如下所示:

在VIEW上显示它
用户使用CONTROLLER
操作数据(更新,修改,删除,..),MODEL上的数据已更改。
在VIEW上显示MODEL的数据。

下面我们来创建一个新的 MySecene.xml 文件。

File -> New -> Other…

这里写图片描述

输入文件名称 -

这里写图片描述

创建结果如下图所示 -

这里写图片描述

可以使用JavaFX Scene Builder打开fxml文件。

这里写图片描述

MyScene.fxml的界面设计屏幕如下:

这里写图片描述

位于场景上的组件:

这里写图片描述

拉伸面板 -

这里写图片描述

锚点面板 -

这里写图片描述

查找按钮并将其拖动到AnchorPane中:

这里写图片描述

选择文件/保存以保存更改。并在窗口中选择“预览/显示预览”以预览您的设计

这里写图片描述

关闭Scene Builder窗口并在Eclipse上刷新项目。您可以查看此时MyScene.fxml文件中生成的代码

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.layout.AnchorPane?>


<AnchorPane prefHeight="309.0" prefWidth="349.0"
    xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8">
    <children>
        <Button fx:id="myButton" layoutX="60.0" layoutY="73.0"
            mnemonicParsing="false" onDragDetected="#showDateTime" prefHeight="23.0"
            prefWidth="120.0" text="Show Date Time" />
        <TextField fx:id="myTextField" layoutX="60.0" layoutY="155.0" />
    </children>
</AnchorPane>

将属性fx:controller添加到中,Controller将对位于AnchorPane内部的控件(如myButton和myTextField)有引用。

这里写图片描述

注意:application.MyController类将在以后创建。

控制器(Controller)

package application;

import java.net.URL;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.ResourceBundle;

import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;

public class MyController implements Initializable {

   @FXML
   private Button myButton;

   @FXML
   private TextField myTextField;

   @Override
   public void initialize(URL location, ResourceBundle resources) {

       // TODO (don't really need to do anything here).

   }

   // When user click on myButton
   // this method will be called.
   public void showDateTime(ActionEvent event) {
       System.out.println("Button Clicked!");

       Date now= new Date();

       DateFormat df = new SimpleDateFormat("yyyy-dd-MM HH:mm:ss");
       String dateTimeString = df.format(now);
        // Show in VIEW
        myTextField.setText(dateTimeString);

   }

}

Main.java 文件的内容如下 -

package application;

import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.layout.BorderPane;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;

public class Main extends Application {
    @Override
    public void start(Stage primaryStage) {
        try {
            // Read file fxml and draw interface.
            Parent root = FXMLLoader.load(getClass()
                    .getResource("/application/MyScene.fxml"));

            primaryStage.setTitle("My Application");
            primaryStage.setScene(new Scene(root));
            primaryStage.show();

        } catch(Exception e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        launch(args);
    }
}

执行上面的代码,得到以下结果 -

这里写图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您讲解JavaFX快速入门。 首先,JavaFX是一个用于创建富客户端应用程序的框架。它提供了一套丰富的图形用户界面(GUI)控件、动画、图形效果等组件,使得开发者可以轻松地创建漂亮且交互性强的应用。 以下是JavaFX快速入门的步骤: 1. 安装JavaFX SDK:您需要从Oracle官网下载JavaFX SDK并安装,以便在您的开发环境中使用JavaFX。 2. 设置开发环境:您需要配置您的开发环境,以便能够使用JavaFX库和工具。这包括将JavaFX库添加到Java类路径中,以及设置JavaFX Scene Builder。 3. 创建JavaFX项目:您可以使用JavaFX插件来创建一个JavaFX项目。您可以在Eclipse或IntelliJ IDEA等IDE中安装JavaFX插件。 4. 创建JavaFX场景:您需要在JavaFX中创建一个场景。场景是JavaFX应用程序中的顶级容器,您可以将其他控件添加到场景中。 5. 添加控件:您可以将JavaFX控件添加到场景中,例如按钮、标签、文本框等。JavaFX提供了许多内置的控件,您也可以创建自定义控件。 6. 设置控件属性:您可以为每个控件设置属性,例如大小、位置、背景颜色等。JavaFX提供了许多属性,您也可以创建自定义属性。 7. 添加事件处理程序:您可以为每个控件添加事件处理程序,例如单击、键盘按下等。JavaFX提供了许多内置的事件处理程序,您也可以创建自定义事件处理程序。 8. 运行JavaFX应用程序:您可以在IDE中运行JavaFX应用程序,并在JavaFX场景中查看添加的控件和设置的属性。 希望这些步骤能够帮助您快速入门JavaFX。如果您有任何其他问题,请随时问我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值