我有一个多场景程序。我已经完成了 GUI 和按钮(允许更改窗口)的工作。随着我的程序的进展,我不希望每个方法都在同一个控制器上。当我更改 FXML 文件响应的控制器时,我收到一个我不明白的拥抱错误。
这是我的 module-info.java 文件。
module Genesis {
requires javafx.fxml;
requires javafx.controls;
opens genesismx;}
与我想要连接到其他控制器的窗口相对应的 FXML 文件是这样的(与问题相关的部分):
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.ComboBox?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.RadioButton?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.control.ToggleGroup?>
<?import javafx.scene.layout.ColumnConstraints?>
<?import javafx.scene.layout.GridPane?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.Pane?>
<?import javafx.scene.layout.RowConstraints?>
<?import javafx.scene.text.Font?>
<GridPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="600.0" prefWidth="720.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1"
///
fx:controller="genesismx.menuAgregarDatos.datos"></GridPane>
在我改变控制器之前是这样的:
<GridPane fx:controller="genesismx.menupController"></GridPane>
文件连接到的控制器是这样的(menupController.java):
package genesismx;
import javafx.event.ActionEvent;
import javafx.fxml.FXMLLoader;
import javafx.scene.Node;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
import java.io.IOException;
public class menupController {
public void aPantPago(ActionEvent event) throws IOException {
Parent root = FXMLLoader.load(getClass().getResource("menuAgregarDatos/AgregarPago.fxml"));
Scene menupScene = new Scene(root);
//Para conseguir la info del stage
Stage window = (Stage) ((Node)event.getSource()).getScene().getWindow();
window.setScene(menupScene);
window.show();
}}
其中“Parent root =” .... 的部分是我应该收到错误的行。
翻阅古今
慕仙森
相关分类