java.lang.ClassCastException:无法将Model.ProfessionalUser强制转换为Model.User

问题描述 投票:-2回答:1

我在有关这些类的代码中遇到问题。在登录控制器的if语句中,该语句在其中对用户进行身份验证(professionaluser和用户在追溯if语句中遇到相同的错误),我收到此异常:“ java.lang.RuntimeException,java.lang.reflect.InvocationTargetException,和java.lang.ClassCastException。我将代码输出放在下面,并提供了更多详细信息。感谢您提供的任何帮助。

ControllerLogin.java:

package Controller;

import Model.ProfessionalUserData;
import Model.User;
import Model.UserData;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.geometry.Insets;
import javafx.scene.control.Button;
import javafx.scene.control.PasswordField;
import javafx.scene.control.TextField;
import javafx.scene.layout.Background;
import javafx.scene.layout.BackgroundFill;
import javafx.scene.layout.CornerRadii;
import javafx.scene.paint.Color;

import java.io.IOException;
import java.net.URL;
import java.util.ResourceBundle;

public class ControllerLogin implements Initializable {

    @FXML
    private Button loginButton;
    @FXML
    private Button signupButton;
    @FXML
    private TextField usernameField;
    @FXML
    private PasswordField passwordField;

    //######################LOGIN SCREEN###########################

    @FXML
    private void setToSignUpScreen(ActionEvent event) throws IOException {
        Controller.loadScreen("SignUpScreen.fxml", event);
    }

    @FXML
    private void authenticate(ActionEvent event) throws IOException {
        Model.UserData userData = new UserData();
        Model.ProfessionalUserData professionalUserData = new ProfessionalUserData();
        System.out.println("Authenticating...");
        if (!userData.searchUsersData(usernameField.getText()).getUsername().isEmpty() && userData.searchUsersData(usernameField.getText()).getUsername().equals(usernameField.getText()) && userData.searchUsersData(usernameField.getText()).getPassword().equals(passwordField.getText())){
            //Checks if user is blank, then checks if username and password match to database
            System.out.println("Loading Regular User Screen");
            Controller.loadScreen("MainScreenUser.fxml", event);
            ControllerMainEmpty.user = userData.searchUsersData(usernameField.getText());

        } else if (!professionalUserData.searchUsersData(usernameField.getText()).getUsername().isEmpty() && professionalUserData.searchUsersData(usernameField.getText()).getUsername().equals(usernameField.getText()) && professionalUserData.searchUsersData(usernameField.getText()).getPassword().equals(passwordField.getText())) {
            System.out.println("Loading Professional User Screen");
            Controller.loadScreen("MainScreenProfUser.fxml", event);
            ControllerMainEmpty.profUser = professionalUserData.searchUsersData(usernameField.getText());
            ControllerMainEmpty.user = new User();
            }
         else {
            usernameField.setBackground(new Background(new BackgroundFill(Color.RED, CornerRadii.EMPTY, Insets.EMPTY)));
            passwordField.setBackground(new Background(new BackgroundFill(Color.RED, CornerRadii.EMPTY, Insets.EMPTY)));
        }

    }

    @Override
    public void initialize(URL location, ResourceBundle resources) {

        //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

}

ProfessionalUserData.java:

    package Model;

import java.io.*;
import java.util.ArrayList;

public class ProfessionalUserData implements Serializable {
    private static ArrayList<ProfessionalUser> professionalUserData = new ArrayList<>();
    /**
     * @return the professionalUserData
     */
    public static ArrayList<ProfessionalUser> getProfessionalUserData() {
        return professionalUserData;
    }

    /**
     * @param aUsersData the professionalUserData to set
     */
    public static void setProfessionalUserData(ArrayList<ProfessionalUser> aUsersData) {
        professionalUserData = aUsersData;
    }

    String usersDataFileName = "ProfessionalUsersData.ser";

    public ProfessionalUserData() {

        this.read();
        if(professionalUserData.isEmpty()|| professionalUserData == null){
//        this.createTestUsersData();
            this.write();
            this.read();
        }
    }

    private void createTestUsersData() {
        for(int i = 0; i <20; i++){
            getProfessionalUserData().add(new ProfessionalUser("firstName" + i, "lastName" + i, "username" + i, "password" + i));
        }
    }

    public void read(){
        FileInputStream fis = null;
        ObjectInputStream ois = null;

        try {
            fis = new FileInputStream(usersDataFileName);

            ois = new ObjectInputStream(fis);
            setProfessionalUserData((ArrayList<ProfessionalUser>) ois.readObject());
            ois.close();
            if(!professionalUserData.isEmpty()){
                System.out.println("There's users");
            }
        }
        catch (IOException ex) {
            ex.printStackTrace();
        }
        catch (ClassNotFoundException ex) {
            ex.printStackTrace();
        }

    }

    public void write(){
        FileOutputStream fos = null;
        ObjectOutputStream oos = null;

        try {
            fos = new FileOutputStream(usersDataFileName);
            oos = new ObjectOutputStream(fos);
            oos.writeObject(getProfessionalUserData());
            oos.close();
        }
        catch (IOException ex) {
            ex.printStackTrace();
        }
    }

    public ProfessionalUser searchUsersData(String username){
        for(int i = 0; i < getProfessionalUserData().size(); i++){
            if (getProfessionalUserData().get(i).getUsername().equals(username)){
                return getProfessionalUserData().get(i);
            }

        }
        return new ProfessionalUser();
    }

    public void writeUser(String username, ProfessionalUser professionalUser){
        for(int i = 0; i < getProfessionalUserData().size(); i++){
            if (getProfessionalUserData().get(i).getUsername().equals(username)){
                getProfessionalUserData().get(i).setProfessionalUser(professionalUser);
            }

        }
        write();
    }

    public void addUser(ProfessionalUser professionalUser){
        getProfessionalUserData().add(professionalUser);
        write();
    }

    public static ArrayList<String> getProfessionalUserDataNames() {
        ArrayList<String> names = new ArrayList<>();
        for (ProfessionalUser i : getProfessionalUserData()) {
            names.add(i.getFirstName() + " " + i.getLastName());
        }
        return names;
    }

    public ProfessionalUser getProfessionalUser(int index) {
        return getProfessionalUserData().get(index);
    }


}

最后是UserData.java:

package Model;

import java.io.*;
import java.util.ArrayList;

public class UserData implements Serializable {

    /**
     * @return the usersData
     */
    public static ArrayList<User> getUsersData() {
        return usersData;
    }

    /**
     * @param aUsersData the usersData to set
     */
    public static void setUsersData(ArrayList<User> aUsersData) {
        usersData = aUsersData;
    }
    private static ArrayList<User> usersData = new ArrayList<>();
    String usersDataFileName = "UsersData.ser";

    public UserData() {

        this.read();
        if(usersData.isEmpty()|| usersData == null){
//        this.createTestUsersData();
            this.write();
            this.read();
        }
    }

    private void createTestUsersData() {
        for(int i = 0; i <20; i++){
            getUsersData().add(new User("firstName" + i, "lastName" + i, "username" + i, "password" + i, "phoneNumber" + i));
        }
    }

    public void read(){
        FileInputStream fis = null;
        ObjectInputStream ois = null;

        try {
            fis = new FileInputStream(usersDataFileName);

            ois = new ObjectInputStream(fis);
            setUsersData((ArrayList<User>) ois.readObject());
            ois.close();
            if(!usersData.isEmpty()){
                System.out.println("There's users");
            }
        }
        catch (IOException ex) {
            ex.printStackTrace();
        }
        catch (ClassNotFoundException ex) {
            ex.printStackTrace();
        }

    }

    public void write(){
        FileOutputStream fos = null;
        ObjectOutputStream oos = null;

        try {
            fos = new FileOutputStream(usersDataFileName);
            oos = new ObjectOutputStream(fos);
            oos.writeObject(getUsersData());
            oos.close();
        }
        catch (IOException ex) {
            ex.printStackTrace();
        }
    }

    public User searchUsersData(String username){
        for(int i = 0 ; i < getUsersData().size();i++){
            if (getUsersData().get(i).getUsername().equals(username)){
                return getUsersData().get(i);
            }

        }
        return new User();
    }

    public void writeUser(String username, User user){
        for(int i = 0 ; i < getUsersData().size();i++){
            if (getUsersData().get(i).getUsername().equals(username)){
                getUsersData().get(i).setUser(user);
            }

        }
        write();
    }

    public void addUser(User user){
        getUsersData().add(user);
        write();
    }

}

代码输出,例外:

"C:\Program Files\Java\jdk-10.0.2\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2019.1.4\lib\idea_rt.jar=58263:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2019.1.4\bin" -Dfile.encoding=UTF-8 -classpath C:\Users\User\IdeaProjects\ABIST412Fa19T\out\production\ABIST412Fa19Team2;C:\Users\User\IdeaProjects\ABIST412Fa19T\libs\jcalendar_1.0.0.jar;C:\Users\User\IdeaProjects\ABIST412Fa19T\libs\LGoodDatePicker-10.4.1.jar Controller.Main
There's users
There's users
Authenticating...
Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
    at javafx.fxml/javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1787)
    at javafx.fxml/javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1670)
    at javafx.base/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
    at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
    at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
    at javafx.base/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
    at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
    at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at javafx.base/com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
    at javafx.base/com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
    at javafx.base/javafx.event.Event.fireEvent(Event.java:198)
    at javafx.graphics/javafx.scene.Node.fireEvent(Node.java:8865)
    at javafx.controls/javafx.scene.control.Button.fire(Button.java:200)
    at javafx.controls/com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:206)
    at javafx.controls/com.sun.javafx.scene.control.inputmap.InputMap.handle(InputMap.java:274)
    at javafx.base/com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218)
    at javafx.base/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
    at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
    at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
    at javafx.base/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
    at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
    at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at javafx.base/com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
    at javafx.base/com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
    at javafx.base/javafx.event.Event.fireEvent(Event.java:198)
    at javafx.graphics/javafx.scene.Scene$MouseHandler.process(Scene.java:3876)
    at javafx.graphics/javafx.scene.Scene$MouseHandler.access$1300(Scene.java:3604)
    at javafx.graphics/javafx.scene.Scene.processMouseEvent(Scene.java:1874)
    at javafx.graphics/javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2613)
    at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:397)
    at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:295)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:434)
    at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:389)
    at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:433)
    at javafx.graphics/com.sun.glass.ui.View.handleMouseEvent(View.java:556)
    at javafx.graphics/com.sun.glass.ui.View.notifyMouse(View.java:942)
    at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:175)
    at java.base/java.lang.Thread.run(Thread.java:844)
Caused by: java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:564)
    at com.sun.javafx.reflect.Trampoline.invoke(MethodUtil.java:76)
    at jdk.internal.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:564)
    at javafx.base/com.sun.javafx.reflect.MethodUtil.invoke(MethodUtil.java:275)
    at javafx.fxml/com.sun.javafx.fxml.MethodHelper.invoke(MethodHelper.java:83)
    at javafx.fxml/javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1782)
    ... 47 more
Caused by: java.lang.ClassCastException: Model.ProfessionalUser cannot be cast to Model.User
    at Model.UserData.searchUsersData(UserData.java:80)
    at Controller.ControllerLogin.authenticate(ControllerLogin.java:45)
    ... 58 more

Process finished with exit code 0

MainScreenProfUser.FXML:

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.control.Button?>
<?import javafx.scene.layout.Pane?>
<?import javafx.scene.text.Font?>
<?import javafx.scene.text.Text?>

<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0"
      prefWidth="600.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1"
      fx:controller="Controller.ControllerMainScreenProfUser">
   <children>
      <Button fx:id="seeRequests" layoutX="235.0" layoutY="159.0" mnemonicParsing="false" prefHeight="43.0" prefWidth="130.0" text="See Open Requests" />
      <Button fx:id="cancelAppointments" layoutX="403.0" layoutY="159.0" mnemonicParsing="false" onAction="#setNotSupportedYet" prefHeight="43.0" prefWidth="130.0" text="Cancel Appointments" />
      <Button fx:id="editProfile" layoutX="132.0" layoutY="258.0" mnemonicParsing="false" onAction="#setNotSupportedYet" prefHeight="43.0" prefWidth="130.0" text="Edit Profile" />
      <Button fx:id="changePassword" layoutX="338.0" layoutY="258.0" mnemonicParsing="false" onAction="#setChangePasswordScreen" prefHeight="43.0" prefWidth="130.0" text="Change Password" />
      <Text layoutX="260.0" layoutY="50.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Welcome ">
         <font>
            <Font size="18.0" />
         </font>
      </Text>
      <Button fx:id="changeAvailability" layoutX="67.0" layoutY="159.0" mnemonicParsing="false" onAction="" prefHeight="43.0" prefWidth="130.0" text="Change Availability" />
      <Text layoutX="260.0" layoutY="105.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Main Menu">
         <font>
            <Font size="16.0" />
         </font>
      </Text>
       <Button fx:id="signOutButton" layoutX="502.0" layoutY="18.0" mnemonicParsing="false" onAction="#setToSignedOut"
               text="Sign Out"/>
   </children>
</Pane>

新错误:

Dec 08, 2019 12:26:45 AM javafx.fxml.FXMLLoader$ValueElement processValue
WARNING: Loading FXML document with JavaFX API of version 11.0.1 by JavaFX runtime of version 10.0.2
Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
    at javafx.fxml/javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1787)
    at javafx.fxml/javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1670)
    at javafx.base/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
    at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
    at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
    at javafx.base/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
    at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
    at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at javafx.base/com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
    at javafx.base/com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
    at javafx.base/javafx.event.Event.fireEvent(Event.java:198)
    at javafx.graphics/javafx.scene.Node.fireEvent(Node.java:8865)
    at javafx.controls/javafx.scene.control.Button.fire(Button.java:200)
    at javafx.controls/com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:206)
    at javafx.controls/com.sun.javafx.scene.control.inputmap.InputMap.handle(InputMap.java:274)
    at javafx.base/com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218)
    at javafx.base/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
    at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
    at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
    at javafx.base/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
    at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
    at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at javafx.base/com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
    at javafx.base/com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
    at javafx.base/javafx.event.Event.fireEvent(Event.java:198)
    at javafx.graphics/javafx.scene.Scene$MouseHandler.process(Scene.java:3876)
    at javafx.graphics/javafx.scene.Scene$MouseHandler.access$1300(Scene.java:3604)
    at javafx.graphics/javafx.scene.Scene.processMouseEvent(Scene.java:1874)
    at javafx.graphics/javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2613)
    at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:397)
    at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:295)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:434)
    at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:389)
    at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:433)
    at javafx.graphics/com.sun.glass.ui.View.handleMouseEvent(View.java:556)
    at javafx.graphics/com.sun.glass.ui.View.notifyMouse(View.java:942)
    at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:175)
    at java.base/java.lang.Thread.run(Thread.java:844)
Caused by: java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:564)
    at com.sun.javafx.reflect.Trampoline.invoke(MethodUtil.java:76)
    at jdk.internal.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:564)
    at javafx.base/com.sun.javafx.reflect.MethodUtil.invoke(MethodUtil.java:275)
    at javafx.fxml/com.sun.javafx.fxml.MethodHelper.invoke(MethodHelper.java:83)
    at javafx.fxml/javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1782)
    ... 47 more
Caused by: javafx.fxml.LoadException: Error resolving onAction='', either the event handler is not in the Namespace or there is an error in the script.
/C:/Users/User/IdeaProjects/ABIST412Fa19/out/production/ABIST412Fa19Team2/View/MainScreenProfUser.fxml:21

    at javafx.fxml/javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2621)
    at javafx.fxml/javafx.fxml.FXMLLoader.access$100(FXMLLoader.java:105)
    at javafx.fxml/javafx.fxml.FXMLLoader$Element.processEventHandlerAttributes(FXMLLoader.java:618)
    at javafx.fxml/javafx.fxml.FXMLLoader$ValueElement.processEndElement(FXMLLoader.java:778)
    at javafx.fxml/javafx.fxml.FXMLLoader.processEndElement(FXMLLoader.java:2838)
    at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2557)
    at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2466)
    at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3253)
    at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3210)
    at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3179)
    at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3152)
    at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3129)
    at javafx.fxml/javafx.fxml.FXMLLoader.load(FXMLLoader.java:3122)
    at Controller.Controller.loadScreen(Controller.java:21)
    at Controller.ControllerLogin.authenticate(ControllerLogin.java:52)
    ... 58 more
java classcastexception
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.