IntelliJ JavaFX генерирует onAction не распознается - PullRequest
0 голосов
/ 28 ноября 2018

Я сгенерировал свой графический интерфейс в scenebuilder, и он выглядит нормально.Теперь я хочу, чтобы моя кнопка что-то сделала, поэтому я пишу в построителе сцен в разделе «На действии», как должен вызываться мой метод.После этого я захожу в мой sample.fxml, а затем хочу создать метод onAddButtonClick.Основная процедура будет состоять в том, чтобы нажать ALT + Enter, и тогда будет предложено создать этот метод в контроллере.Но это просто не работает.

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

<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.ListView?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.text.Font?>


<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="450.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1">
   <children>
      <Label layoutX="46.0" layoutY="11.0" text="Customer Manager">
         <font>
            <Font size="18.0" />
         </font>
      </Label>
      <Label layoutX="340.0" layoutY="10.0" text="Cargo Manager">
         <font>
            <Font size="18.0" />
         </font>
      </Label>
      <Label layoutX="710.0" layoutY="12.0" text="Options">
         <font>
            <Font size="18.0" />
         </font>
      </Label>
      <ListView layoutX="16.0" layoutY="49.0" prefHeight="285.0" prefWidth="211.0" />
      <Label layoutX="21.0" layoutY="350.0" text="Name:" />
      <TextField layoutX="60.0" layoutY="346.0" prefHeight="25.0" prefWidth="170.0" />
      <Button layoutX="20.0" layoutY="395.0" mnemonicParsing="false" onAction="#onAddButtonClick" text="Button" />
      <Button layoutX="178.0" layoutY="395.0" mnemonicParsing="false" text="Button" />
   </children>
</AnchorPane>

это смутило меня

  <Button layoutX="20.0" layoutY="395.0" mnemonicParsing="false" onAction="#onAddButtonClick" text="Button" />

РЕДАКТИРОВАТЬ: нашел решение, я только что добавил fx: controller = "sample.Controller" в концепервая строка

<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="450.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="sample.Controller">
...