JavaFX SceneBuilder添加事件打开新窗口
-
先设置ID,和事件名称,保存

-
进入fxml,已经设置成功

-
注意要设置Controller:
fx:controller="sample.Controller"

-
Controller的编写
注意导入的包,不要导入成java.awt的组件,要导入javafx的组件注意添加
@FXML注解
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.MenuItem;
public class Controller {
@FXML
MenuItem Capture;
@FXML
public void startCapture(ActionEvent event){
System.out.println("1111111");
}
}
- 事件设置测试成功
- 创建新窗口:使用scenebuilder新创建一个fxml文件(settings.fxml)

- 仿照main函数中的打开窗口的写法,将事件改成以下范例:
@FXML
public void startCapture(ActionEvent event) throws IOException {
AnchorPane settings = FXMLLoader.load(getClass().getResource("settings/settings.fxml"));
Stage settingsStage = new Stage();
settingsStage.setTitle("配置");
settingsStage.setScene(new Scene(settings));
settingsStage.show();
}
- 完成打开新窗口
- 添加取消按钮关闭窗口:
取消按钮:
@FXML
public Button cancel;
按钮事件:
@FXML
public void close(){
Stage stage = (Stage) cancel.getScene().getWindow();
stage.close();
}
本文介绍了如何使用JavaFX SceneBuilder添加事件来打开新窗口。首先,设置ID和事件名称,然后在FXML中确认设置。重点在于正确配置Controller,并避免导入错误的Java组件包。通过示例代码展示了如何成功触发事件并创建新窗口,同时添加了取消按钮以关闭窗口。
763

被折叠的 条评论
为什么被折叠?



