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