JFXButton:无法解析符号

JFXButton: Cannot resolve symbol

我正在尝试用 JavaFX 制作我的第一个 GUI。这是我到目前为止所做的:

主要:

    package ZVCVolkel_GUI;

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

    public class Main extends Application {

        @Override
        public void start(Stage primaryStage) throws Exception{
            Parent root = FXMLLoader.load(getClass().getResource("LoginScreen.fxml"));
            primaryStage.setTitle("Zweegvliegclub Volkel");
            primaryStage.setScene(new Scene(root, 322.0, 182.0));
            primaryStage.show();
        }

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

控制器:

    package ZVCVolkel_GUI;


    import com.jfoenix.controls.JFXButton;
    import com.jfoenix.controls.JFXPasswordField;
    import com.jfoenix.controls.JFXTextField;
    import javafx.fxml.FXML;

    import javax.swing.*;
    import java.awt.event.ActionEvent;

    public class Controller {

        @FXML
        private JFXTextField username;

        @FXML
        private JFXPasswordField password;

        @FXML
        private JFXButton login;

        @FXML
        void makeLogin(ActionEvent event){
            String user = username.getText();
            String pass = password.getText();
            if(user.equals("Admingeb") && pass.equals("Adminww")){
                System.out.println("Welcome");
            }else{
                System.out.println("Access denied");
            }
        }
    }

FXML 文件

  <?import com.jfoenix.controls.JFXButton?>
  <?import com.jfoenix.controls.JFXPasswordField?>
  <?import com.jfoenix.controls.JFXTextField?>
  <?import javafx.scene.control.Label?>
  <?import javafx.scene.layout.AnchorPane?>
  <?import javafx.scene.text.Font?>

  <AnchorPane prefHeight="182.0" prefWidth="322.0" xmlns="http://javafx.com/javafx/8.0.121" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ZVCVolkel_GUI.Controller">
     <children>
        <Label layoutX="79.0" layoutY="14.0" text="Inloggen bij ZVC Volkel">
           <font>
              <Font name="System Bold" size="15.0" />
           </font>
        </Label>
        <JFXButton fx:id="login" blendMode="SRC_ATOP" layoutX="128.0" layoutY="132.0" mnemonicParsing="false" onAction="#makeLogin" text="Inloggen">
           <font>
              <Font name="System Bold" size="12.0" />
           </font>
        </JFXButton>
        <JFXPasswordField fx:id="password" layoutX="94.0" layoutY="79.0" promptText="Wachtwoord" />
        <JFXTextField fx:id="username" layoutX="94.0" layoutY="54.0" promptText="Gebruikersnaam" />
     </children>
  </AnchorPane>

现在,当我尝试执行它时,我收到一条错误消息,指出我的 JFXButton 'Cannot resolve symbol' 上的 onAction。 当我删除 onAction 时它工作正常但我真的需要它才能有一个有用的程序。 有人知道为什么我的 onAction 不起作用吗?

import javax.swing.*;    
import java.awt.event.ActionEvent;

那是一个 FX 应用程序,而您正在尝试使用 awt。像这样更改 FX 实现:

import javafx.event.ActionEvent;

应该会有帮助