Intellij Idea无法解析ActionEvent侦听器

时间:2018-05-04 02:34:07

标签: java intellij-idea javafx scenebuilder

我使用场景构建器和Intellij创建了一个javafx应用程序。我的问题是,当我尝试向我的按钮添加一个动作事件时,它表示"无法解析符号"和intellij建议我在我的控制器类中创建方法,但它已经存在。

这是我第一次使用javafx,但是从我能找到的所有示例和信息中,我似乎无法找到我的问题所在。

以下是我的fxml文件中的相关代码,其中我使用on action事件监听器创建了按钮:

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

<?import javafx.scene.control.Button?>
<?import javafx.scene.control.TableColumn?>
<?import javafx.scene.control.TableView?>
<?import javafx.scene.effect.BoxBlur?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.Region?>

<AnchorPane id="Main Page" fx:id="MainPage" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="691.0" prefWidth="1202.0" style="-fx-background-color: #3d4956;" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1" fx:controller="sample.Controller">
  <children>
  <!-- Buttons on main pane-->
      <Button fx:id="NewTabButton" layoutX="136.0" layoutY="67.0" mnemonicParsing="false" onAction="#newTab" prefHeight="50.0" prefWidth="120.0" style="-fx-background-color: #ffa31a;" text="New Tab" textAlignment="CENTER" />
      <Button fx:id="AddItemButton" layoutX="436.0" layoutY="67.0" mnemonicParsing="false" prefHeight="50.0" prefWidth="120.0" style="-fx-background-color: #00ff80;" text="Add Item" textAlignment="CENTER" />
      <Button fx:id="EditTabButton" layoutX="707.0" layoutY="67.0" mnemonicParsing="false" prefHeight="50.0" prefWidth="120.0" style="-fx-background-color: #ffa31a;" text="Edit Tab" textAlignment="CENTER" />
      <Button fx:id="ResolveTabButton" layoutX="1015.0" layoutY="67.0" mnemonicParsing="false" prefHeight="50.0" prefWidth="120.0" style="-fx-background-color: #ff5c33;" text="Resolve Tab" textAlignment="CENTER" />

来自我的控制器的相关代码就在这里(我让它输出hello world暂时试图尝试使其工作):

package sample;

import java.awt.event.ActionEvent;

public class Controller {

    public void newTab(ActionEvent actionEvent) {
    System.out.println("Hello world");
    }
}

1 个答案:

答案 0 :(得分:0)

哇,我想是漫长的夜晚。当我想要javafx ActionEvent时,我正在导入awt ActionEvent。也许是时候睡觉了。