零基础直接上手java跨平台桌面程序,使用javafx(三)添加控件并添加事件

         点到hello-view.fxml,点到下面的Scene Builder,如图:

        系统自动创建的是一个VBox,上面创建了一个标签和一个按钮。我不习惯使用VBox,我来把它删除掉,重新添加“Borderpane”,然后我们在“Borderpane”的顶部添加一个pane,在pane里面添加两个按钮(pane里面的控件可以自由拖放位置,这个我很喜欢)。如图:

        然后我们准备给按钮写个单击事件,用来打开一个文件对话框,选择excel文件然后读取它。于是我们找到右下角“code”发现里面确实有很多事件,我以为双击能自动转到代码页并写代码,其实不能。正确的办法是,是在某个事件,比如我选择"on  mouse clickd"里面写上“openclick1”,表示 我们这个事件的函数名称叫“openclick1”。我们点“hello-view.fxml”的“文本”可以看到事件已经在里面了:

但是它是红色的,标示我们还没有在代码里写这个函数。fxml它就是一个布局的文件,我们还得写这个文件的代码文件。我们在BorderPane定义的第一行,找到最后一个>之前按回车,在>里面写上:fx:controller="com.example.demo.HelloController">,表示我们这个布局文件的代码文件是“HelloController”,如图:

现在我们到HelloController里面去把“openclick1”写上代码:

package com.example.demo;

import javafx.application.Platform;
import javafx.fxml.FXML;
import javafx.scene.control.Alert;
import javafx.scene.control.Label;
import javafx.stage.FileChooser;
import javafx.stage.Stage;

import java.io.File;

public class HelloController {
    @FXML
    private Label welcomeText;

    @FXML
    protected void openclick1()
    {
        FileChooser fileChooser = new FileChooser();
        fileChooser.setTitle("文件打开对话框");
        fileChooser.getExtensionFilters().add(new FileChooser.ExtensionFilter("电子表格", "*.xlsx", "*.xls", "*.ods", "*.txt", "*.csv"));
        // 设置文件选择框的初始目录(可选)
        //fileChooser.setInitialDirectory(new File(System.getProperty("user.home")));
        // 显示文件选择框并获取所选文件
        File selectedFile = fileChooser.showOpenDialog(new Stage());

        if (selectedFile != null)
        {
            String fileName = selectedFile.getName();
            Platform.runLater(() -> {
                Alert alert = new Alert(Alert.AlertType.INFORMATION);
                alert.setTitle("选择文件");
                alert.setHeaderText(null);
                alert.setContentText("您选择了文件:" +fileName);
                alert.showAndWait();
            });
        }
    }
}

我们运行,选中某个文件就会出现结果了:

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Kotlin中使用JavaFX开发跨平台桌面应用程序主要需要以下步骤: 1. 安装JavaFXJavaFXJava平台的一个GUI框架,可以用于创建丰富的桌面应用程序。在Kotlin中使用JavaFX,需要先安装JavaFX。可以从Oracle官网下载JavaFX SDK,或者从Maven仓库中获取。 2. 配置开发环境:配置Kotlin和JavaFX开发环境,使得Kotlin代码能够访问JavaFX库。在IntelliJ IDEA中,可以通过添加JavaFX SDK的路径来配置JavaFX开发环境。 3. 创建JavaFX应用程序使用Kotlin编写JavaFX应用程序,可以使用JavaFX的API,以及Kotlin的语法和特性。在Kotlin中创建JavaFX应用程序的方式和在Java中创建JavaFX应用程序的方式类似。 4. 编译和打包应用程序使用Kotlin编写的JavaFX应用程序可以编译为Java字节码,然后打包为可执行文件。可以使用Maven或Gradle来管理项目,构建和打包应用程序。 下面是一个使用Kotlin和JavaFX开发桌面应用程序的示例代码: ```kotlin import javafx.application.Application import javafx.scene.Scene import javafx.scene.control.Button import javafx.scene.layout.StackPane import javafx.stage.Stage class HelloWorld : Application() { override fun start(primaryStage: Stage?) { val button = Button("Hello World") button.setOnAction { println("Hello World") } val root = StackPane() root.children.add(button) val scene = Scene(root, 300.0, 250.0) primaryStage?.title = "Hello World" primaryStage?.scene = scene primaryStage?.show() } } fun main(args: Array<String>) { Application.launch(HelloWorld::class.java, *args) } ``` 这个应用程序创建了一个窗口,包含一个按钮,点击按钮时会在控制台输出"Hello World"。可以使用Kotlin编译器编译这个应用程序,并打包为可执行文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值