Собрал проект JavaFX сначала все работала, но в какой-то момент перестали отображать сделанные изменения в окне приложение, в частности добавил в fxml файли HBox а внутрь запихал кнопки и вся эта конструкция просто не отображается в окне приложения Scene builder видит объекты а JavaFX нет. Потом начал пытаться разбираться в чем причина и решил переустановить все библиотеки JavaFX и jdk 11 и sdk 11 но проект уже не запустился и выдает кучу исключений каких то. код приложения следующий: класс Main
package sample;
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("/sample/sample.fxml"));
primaryStage.setTitle("App");
primaryStage.setScene(new Scene(root, 1200, 800));
primaryStage.show();
}
public static void main(String[] args) {launch(args);
}
}
Класс Controller package sample;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.layout.AnchorPane;
public class Controller {
@FXML
AnchorPane anchorRace;
int currentRace = 0;
private String[] imagesRaces = new String[]{
"-fx-background-image:url('/images/1.JPG');",
"-fx-background-image:url('/images/2.JPG');",
"-fx-background-image:url('/images/3.JPG');",
"-fx-background-image:url('/images/4.JPG');",
"-fx-background-image:url('/images/5.JPG');",
"-fx-background-image:url('/images/6.JPG');",
"-fx-background-image:url('/images/7.JPG');",
"-fx-background-image:url('/images/8.JPG');",
};
@FXML
private void buttonNext (ActionEvent event) {
if (currentRace ==0 || currentRace == imagesRaces.length-1){
if(currentRace == 0) currentRace++;
else {
currentRace=0;
}
anchorRace.setStyle(imagesRaces[currentRace]);
}else{
currentRace++;
anchorRace.setStyle(imagesRaces[currentRace]);
}
}
@FXML
private void buttonPrevious (ActionEvent event) {
if (currentRace ==0 || currentRace == imagesRaces.length-1){
if(currentRace == 0){
currentRace= imagesRaces.length-1;
}
else {
currentRace--;
}
anchorRace.setStyle(imagesRaces[currentRace]);
}else{
currentRace--;
anchorRace.setStyle(imagesRaces[currentRace]);}
}
}
класс Module
package sample;
public class Model {
}
код файла sample.fxml
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="800.0" prefWidth="1200.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="sample.Controller">
<children>
<Button layoutX="190.0" layoutY="140.0" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" mnemonicParsing="false" onAction="#buttonNext" prefHeight="40.0" prefWidth="130.0" text="On" AnchorPane.leftAnchor="190.0" />
<Button layoutX="880.0" layoutY="137.0" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" mnemonicParsing="false" onAction="#buttonPrevious" prefHeight="40.0" prefWidth="130.0" text="Off" />
<AnchorPane fx:id="anchorRace" layoutX="404.0" layoutY="91.0" prefHeight="139.0" prefWidth="393.0" stylesheets="@../CSS/Background.css">
</AnchorPane>
<HBox fx:id="heroesPanel2" alignment="CENTER" focusTraversable="true" layoutX="231.0" layoutY="501.0" spacing="40.0" visible="true">
<children>
<Button maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" mnemonicParsing="false" prefHeight="150.0" prefWidth="150.0" text="%key.unspecified" />
<Button maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" mnemonicParsing="false" prefHeight="150.0" prefWidth="150.0" text="%key.unspecified" />
<Button maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" mnemonicParsing="false" prefHeight="150.0" prefWidth="150.0" text="%key.unspecified" />
<Button maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" mnemonicParsing="false" prefHeight="150.0" prefWidth="150.0" text="%key.unspecified" />
</children>
<padding>
<Insets left="10.0" right="10.0" />
</padding>
</HBox>
<HBox fx:id="heroesPanel1" alignment="CENTER" focusTraversable="true" layoutX="233.0" layoutY="322.0" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="154.0" prefWidth="734.0" spacing="40.0">
<Button maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" mnemonicParsing="false" prefHeight="150.0" prefWidth="150.0" text="%key.unspecified" />
<Button maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" mnemonicParsing="false" prefHeight="150.0" prefWidth="150.0" text="%key.unspecified" />
<Button maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" mnemonicParsing="false" prefHeight="150.0" prefWidth="150.0" text="%key.unspecified" />
<Button maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" mnemonicParsing="false" prefHeight="150.0" prefWidth="150.0" text="%key.unspecified" />
<padding>
<Insets left="10.0" right="10.0" />
</padding></HBox>
</children>
</AnchorPane>
код файла Background.CSS
#anchorRace {
-fx-background-image:url('/images/1.JPG');
-fx-background-size: 100% 100%;
}
#heroesPanel1 {
-fx-background-image: url('/images/1.JPG');
-fx-background-size: 100% 100%;
}
Фото структуры проекта
Фото Edit Configuration
Фотки Project Structure
Версия Intellij Idea
Мне почему то кажется что дело тут вот в этой строчке кода , но в что именно в ней не так я так и не понял.