0.前言
前段时间在做javafx的应用程序,遇到一些坑。以本文记录之。(如有更好的解决办法欢迎评论,本人小白,轻喷)
1.问题
按照官方的中文文档,成功的运行了单一界面的表单登录。于是想自己试试多界面跳转,给按钮添加事件响应。可是怎么操作都报错,百度了许久没有解决办法。后来Google后找到了一个合适的解决办法。
2.代码
下面一段代码是我主程序界面fxml文件中,创建字符串的按钮
<Button fx:id="CreateString" defaultButton="true" layoutX="216.0" layoutY="159.0" mnemonicParsing="false" onAction="#CreateStringOperation" prefHeight="58.0" prefWidth="154.0" text="创建字符串">
<font>
<Font size="23.0" />
</font>
</Button>
这是我通过下面方法解决的通过一个按钮动作弹出另一个界面。其中CreateString.fxml是弹出窗口的界面布局。
//创建字符串
@FXML protected void CreateStringOperation(ActionEvent event) throws IOException {
Parent Operation_Parent = FXMLLoader.load(getClass().getResource("CreateString.fxml"));
Scene Operation_Creating_Scene = new Scene(Operation_Parent);
Stage CreateOperation_Stage = (Stage) ((Node) event.getSource()).getScene().getWindow();
CreateOperation_Stage.hide();
CreateOperation_Stage.setScene(Operation_Creating_Scene);
CreateOperation_Stage.show(); }