JFXButton:无法解析符号

时间:2018-05-16 20:58:45

标签: java javafx jfoenix

我正在尝试在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上的onAction'无法解析符号'。 当我删除onAction它工作正常但我真的需要它,以便有一个有用的程序。 任何人都知道为什么我的onAction无效?

1 个答案:

答案 0 :(得分:1)

entities

这是一个FX应用程序,你正在尝试使用awt。改为FX实施,如下所示:

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

它应该有帮助