Добрый вечер.
Не могу понять, какова суть для вызова дочерних окон при использовании java fx. Есть вспомогательный класс, который должен был отвечать за вызов вспомогательного окна, но при
load() всё время выбивает ошибку:
Caused by: java.lang.IllegalStateException: Location is not set.
Вот сам метод:
InfoForm.classpublic class InfoForm {
public void showInfoForm() {
Label secondLabel = new Label("Info");
// StackPane secondaryLayout = new StackPane();
// secondaryLayout.getChildren().add(secondLabel);
FXMLLoader loader = new FXMLLoader(getClass().getResource("test.fxml"));
loader.setRoot(this);
Pane root = null;
try {
root = loader.load();
} catch (IOException e) {
e.printStackTrace();
}
Scene secondScene = new Scene(root, 230, 100);
Stage newWindow = null;
newWindow.setTitle("Second Stage");
newWindow.setScene(secondScene);
newWindow.initModality(Modality.WINDOW_MODAL);
newWindow.show();
}
}
И сам fxml:
FXML<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.layout.ColumnConstraints?>
<?import javafx.scene.layout.GridPane?>
<?import javafx.scene.layout.Pane?>
<?import javafx.scene.layout.RowConstraints?>
<?import javafx.scene.control.Label?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.ComboBox?>
<?import javafx.scene.control.TextField?>
<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1">
<children>
<GridPane layoutX="3.0" layoutY="-1.0" prefHeight="200.0" prefWidth="287.0">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" maxWidth="94.0" minWidth="10.0" prefWidth="69.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="131.0" minWidth="10.0" prefWidth="131.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints maxHeight="73.0" minHeight="10.0" prefHeight="65.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="73.0" minHeight="10.0" prefHeight="65.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="81.0" minHeight="10.0" prefHeight="74.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="67.0" minHeight="10.0" prefHeight="61.0" vgrow="SOMETIMES" />
</rowConstraints>
<opaqueInsets>
<Insets />
</opaqueInsets>
<children>
<Label text="IP/MAC" />
<Label text="Name" GridPane.rowIndex="1" />
<Label text="Сhannel" GridPane.rowIndex="2" />
<Label text="Max.speed" GridPane.rowIndex="3" />
<ComboBox prefWidth="150.0" GridPane.columnIndex="1" GridPane.rowIndex="2" />
<TextField GridPane.columnIndex="1" />
<TextField GridPane.columnIndex="1" GridPane.rowIndex="1" />
<TextField GridPane.columnIndex="1" GridPane.rowIndex="3" />
</children>
</GridPane>
</children>
</Pane>
Вот файл .fxml лежит внутри папки resource, которая помечена соответствующим маркером. Пробовал писать полный путь к файлу
/media/hdd/Documents/diplom/resources/test.fxml - не помогло