Возвращает эксепшон при подключении контролера jfx
возникла ошибка при подключении контролера как решить?
at javafx.fxml/javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2625)
at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2603)
at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2466)
at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3237)
at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3194)
at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3163)
at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3136)
at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3113)
at javafx.fxml/javafx.fxml.FXMLLoader.load(FXMLLoader.java:3106)
at ru.passwordsave/ru.passwordsave.App.start(App.java:27)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846)
at com.sun.javafx.application.LauncherImpl$$Lambda$108/0x0000000000000000.run(Unknown Source)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455)
at com.sun.javafx.application.PlatformImpl$$Lambda$93/0x0000000000000000.run(Unknown Source)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
at com.sun.javafx.application.PlatformImpl$$Lambda$95/0x0000000000000000.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:708)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
at com.sun.javafx.application.PlatformImpl$$Lambda$94/0x0000000000000000.run(Unknown Source)
at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
at com.sun.glass.ui.win.WinApplication$$Lambda$83/0x0000000000000000.run(Unknown Source)
... 1 more
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field private java.net.URL ru.passwordsave.controler.location accessible: module ru.passwordsave does not "opens ru.passwordsave" to module javafx.fxml
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:340)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:280)
at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:176)
at java.base/java.lang.reflect.Field.setAccessible(Field.java:170)
at javafx.fxml/javafx.fxml.FXMLLoader$ControllerAccessor.addAccessibleFields(FXMLLoader.java:3479)
at javafx.fxml/javafx.fxml.FXMLLoader$ControllerAccessor.access$3900(FXMLLoader.java:3328)
at javafx.fxml/javafx.fxml.FXMLLoader$ControllerAccessor$1.run(FXMLLoader.java:3444)
at javafx.fxml/javafx.fxml.FXMLLoader$ControllerAccessor$1.run(FXMLLoader.java:3440)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:682)
at javafx.fxml/javafx.fxml.FXMLLoader$ControllerAccessor.addAccessibleMembers(FXMLLoader.java:3439)
at javafx.fxml/javafx.fxml.FXMLLoader$ControllerAccessor.getControllerFields(FXMLLoader.java:3378)
at javafx.fxml/javafx.fxml.FXMLLoader.injectFields(FXMLLoader.java:1170)
at javafx.fxml/javafx.fxml.FXMLLoader.access$1600(FXMLLoader.java:105)
at javafx.fxml/javafx.fxml.FXMLLoader$ValueElement.processValue(FXMLLoader.java:865)
at javafx.fxml/javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:759)
at javafx.fxml/javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2722)
at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2552)
... 22 more
Exception running application ru.passwordsave.App
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.effect.DropShadow?>
<?import javafx.scene.image.Image?>
<?import javafx.scene.image.ImageView?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.text.Font?>
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" styleClass="back" stylesheets="@../../../../../Documents/PasswordSaver/main.css" xmlns="http://javafx.com/javafx/15.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ru.passwordsave.controler">
<children>
<AnchorPane fx:id="pane" prefHeight="400.0" prefWidth="164.0" style="-fx-background-color: E8FFFF;">
<effect>
<DropShadow />
</effect>
<children>
<Button id="buttons" fx:id="gotopassword" alignment="CENTER" layoutX="15.0" layoutY="107.0" mnemonicParsing="false" prefHeight="39.0" prefWidth="131.0" style="-fx-background-color: A8FFBD;" styleClass="buttons" stylesheets="@main.css" text="Узнать пароль" />
<Button fx:id="addpassword" layoutX="15.0" layoutY="174.0" mnemonicParsing="false" prefHeight="39.0" prefWidth="131.0" style="-fx-background-color: A8FFBD;" styleClass="buttons" text="Добавить пароль" />
<Button fx:id="delpassword" layoutX="15.0" layoutY="241.0" mnemonicParsing="false" prefHeight="39.0" prefWidth="131.0" style="-fx-background-color: A8FFBD;" styleClass="buttons" text="Удалить пароль" />
<Button fx:id="exit" ellipsisString="" layoutX="17.0" layoutY="340.0" mnemonicParsing="false" prefHeight="39.0" prefWidth="131.0" style="-fx-background-color: FF7954;" text="Выйти из програмы" textFill="#dacccc" textOverrun="CLIP" />
</children>
</AnchorPane>
<AnchorPane prefHeight="68.0" prefWidth="600.0" style="-fx-background-color: F4FCFF;">
<effect>
<DropShadow />
</effect>
<opaqueInsets>
<Insets />
</opaqueInsets>
<children>
<ImageView fitHeight="50.0" fitWidth="44.0" layoutX="30.0" layoutY="9.0">
<image>
<Image url="@icon.png" />
</image>
</ImageView>
<Label layoutX="90.0" layoutY="19.0" lineSpacing="2.0" prefHeight="25.0" prefWidth="146.0" text="PasswordSaver" textFill="#4d4a4a" textOverrun="CLIP">
<font>
<Font size="20.0" />
</font>
</Label>
</children>
</AnchorPane>
<AnchorPane fx:id="main" layoutX="164.0" layoutY="68.0" prefHeight="332.0" prefWidth="436.0">
<children>
<Label layoutX="83.0" layoutY="62.0" prefHeight="160.0" prefWidth="257.0" text="Для начала использования програмы нажмите на любую из кнопок" textAlignment="CENTER" textFill="#686464" textOverrun="CLIP" wrapText="true">
<font>
<Font size="13.0" />
</font>
</Label>
</children>
</AnchorPane>
</children>
</AnchorPane>
Ответы (1 шт):
Автор решения: Mr. Sebuka
→ Ссылка
Проблема была решена. Просто замените все поля с аннотацией FXML на public. Тогда всё заработает.
