欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JavaFX Scene Builder的使用

程序员文章站 2024-02-07 10:04:46
...

Eclipse开发JavaFX项目入门

一、下载与安装

Eclipse中添加新插件:
Name: e(fx)clipse
Location: http://download.eclipse.org/efxclipse/updates-released/2.3.0/site

下载JavaFX Scene Builder 2.0
URL:http://www.oracle.com/technetwork/java/javase/downloads/javafxscenebuilder-1x-archive-2199384.html
安装很简单,略过。

启动eclipse:Window -> References->JavaFX
JavaFX Scene Builder的使用
加入JavaFX Scene Builder 2.0.exe
JavaFX Scene Builder的使用
第一步就完成了。

二、简单JavaFX项目

1.创建项目

选择javafx项目

JavaFX Scene Builder的使用

输入javafx名称,(环境:JDK8以上)

JavaFX Scene Builder的使用

自动生成的项目结构

JavaFX Scene Builder的使用

application包下创建fxml文件

File -> New -> Other
JavaFX Scene Builder的使用
输入名称。

2.进入JavaFX Scene Builder

打开JavaFX Scene Builder

JavaFX Scene Builder的使用

点击AnchorPane

JavaFX Scene Builder的使用

鼠标放在+ 拉大

JavaFX Scene Builder的使用

3.添加组件

Containers中选择Button组件

JavaFX Scene Builder的使用

点击Button组件,在右边设置其属性(默认也行)

JavaFX Scene Builder的使用
JavaFX Scene Builder的使用

设置Button的fx:id (重点)

右边->code->fx:id,输入一个名称
JavaFX Scene Builder的使用

我们在添加一个文本框,设置fx:id

JavaFX Scene Builder的使用

随意拖动,缩放。也可以设置其属性

JavaFX Scene Builder的使用

保存

JavaFX Scene Builder的使用

预览

JavaFX Scene Builder的使用
预览结果:
JavaFX Scene Builder的使用

关闭

三、引用fxml,编写Java代码

1.创建application.MyController类

打开fxml文件

JavaFX Scene Builder的使用
添加内容:fx:controller=”application.MyController”,保存

预览如下(MyController,可以自己命名)

JavaFX Scene Builder的使用

鼠标放在追加的内容上,右键->source->GenerateController

JavaFX Scene Builder的使用
JavaFX Scene Builder的使用

然后自动生成MyController类和字段

JavaFX Scene Builder的使用

2.MyController类中编写代码(事件)

例如给Button很简单的一个事件,MyController类代码如下

import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
public class MyController {
    @FXML
    private Button btn_1;
    @FXML
    private TextField text_1;
    public void eventButton(){
        String text = text_1.getText();//获取文本框输入的内容
        System.out.println(text);
    }
}

再进入JavaFX Scene Builder 2.0添加Button的事件

选择Button,右边框->code->OnAction,选择eventButton
JavaFX Scene Builder的使用

保存

3.添加Main类中的代码

Main类中自动生成的代码如下

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);
    }
}

Main类中修改如下

JavaFX Scene Builder的使用

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.stage.Stage;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.layout.BorderPane;
public class Main extends Application {
    @Override
    public void start(Stage primaryStage) {
        try {
            Parent root = FXMLLoader.load(getClass().getResource("SceneDemo.fxml"));//修改了
            //BorderPane root = new BorderPane();
            //设置Scene的大小(SceneBuilder中点击AnchorPane右边Layout中会显示大小,不一样的可以)
            Scene scene = new Scene(root,500,522);//修改了
            scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
            primaryStage.setScene(scene);
            primaryStage.setResizable(false);//设置不能窗口改变大小
            primaryStage.setTitle("一个简单的JavaFX");//设置标题
            primaryStage.show();
        } catch(Exception e) {
            e.printStackTrace();
        }
    }
    public static void main(String[] args) {
        launch(args);
    }
}

保存,运行Main类

JavaFX Scene Builder的使用

结束,如有错误,敬请指明。

到这里就结束了,刚开始使用CSDN,截图和排版不当,谅解。
喜欢JavaFx的同学可以看看易白教程,将就一下,JavaFx教程、视频都很少。
易白教程 :http://www.yiibai.com/javafx/javafx-tutorial-for-beginners.html
JavaFx 2.0 API(英文):http://pan.baidu.com/s/1hsnFRTU

相关标签: eclipse javafx