Я хочу привязать контроллер внутреннего класса "FinishDialogController" к FXML. Это настоящая загадка.
Но fx:controller="app.view.MainLayoutController.FinishDialogController"
ошибается.
Кто знает правильный путь?
Я ищу «внутренний» в Введение в FXML, но не найдено.
это полный FXML:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.AnchorPane?>
<AnchorPane prefHeight="108.0" prefWidth="350.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="app.view.MainLayoutController.FinishDialogController">
<children>
<TextField fx:id="textField" layoutX="25.0" layoutY="50.0" onAction="#handleTextField" prefHeight="23.0" prefWidth="314.0" AnchorPane.leftAnchor="25.0" AnchorPane.rightAnchor="25.0" />
<Button fx:id="okButton" layoutX="219.0" layoutY="78.0" mnemonicParsing="false" onAction="#handleOkButton" text="OK" />
<Button fx:id="deleteButton" layoutX="271.0" layoutY="78.0" mnemonicParsing="false" onAction="#handleDeleteButton" text="Delete" />
</children>
</AnchorPane>
app.view.MainLayoutController$FinishDialogController
. - person mr mcwolf   schedule 07.11.2019static
? Не-static
внутренние классы не могут быть инициализированыFXMLLoader
безcontrollerFactory
, так как их конструкторы имеют скрытый дополнительный параметр в начале списка параметров: экземпляр окружающего класса. Этоpublic
?FXMLLoader
не инициализирует классы, отличные отpublic
. - person fabian   schedule 07.11.2019