javafx场景2按钮上的操作不起作用

wgeznvg7  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(336)

我有两个场景。其中一个场景是登录,另一个是注册。当我单击登录屏幕上的注册按钮时,它会将我切换到注册场景。我在控制器中为按钮所做的操作不起作用。我是否需要在主控制器或控制器中执行某些操作才能使register.fxml正常工作?
模型控制器:

package application;

import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.Node;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;
import java.sql.*;

public class ModelController extends Main{

@FXML
private Label LblStatus;

@FXML
private TextField UserEmail;

@FXML
private TextField UserPassword;

@FXML
private TextField RegisterEmail;

@FXML
private TextField RegisterPassword;

@FXML
private TextField RegisterFirst;

@FXML
private TextField RegisterLast;

@FXML
private TextField RegisterSSN;

@FXML
private TextField RegisterAddress;

@FXML
private TextField RegisterCity;

@FXML
private TextField RegisterState;

@FXML
private TextField RegisterZip;

@FXML
private Button LoginRegister;

public void Login(ActionEvent event) throws Exception {

    if(UserEmail.getText().equals("User") && UserPassword.getText().equals("pass")) {
        LblStatus.setText("Login Success");

        Stage primaryStage = new Stage();
        Parent root = FXMLLoader.load(getClass().getResource("/application/Main.fxml"));
        Scene scene = new Scene(root,400,400);
        scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
        primaryStage.setScene(scene);
        primaryStage.show();
    }
    else {
        LblStatus.setText("Login Failed");
    }

}

public void handleButtonAction(ActionEvent event) {
    try {
        FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("Register.FXML"));
        Parent root1 = (Parent) fxmlLoader.load();
        Scene Register = new Scene(root1);
        Stage window = (Stage)((Node)event.getSource()).getScene().getWindow();

        window.setScene(Register);
        window.show();

    }
    catch(Exception e) {

    }
}

public void CompleteRegistration(ActionEvent event) {

}

主要内容:

package application;

import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Node;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.layout.BorderPane;
import javafx.fxml.FXMLLoader;

public class Main extends Application {
@Override
public void start(Stage primaryStage) {
    try {
        Parent root = FXMLLoader.load(getClass().getResource("/application/Login.fxml"));
        Scene scene = new Scene(root,400,400);
        scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
        primaryStage.setScene(scene);
        primaryStage.show();
    } catch(Exception e) {
        e.printStackTrace();
    }
}

public static void main(String[] args) {
    launch(args);
}
}

相关问题