Это один из моих первых проектов, использующих FXML, и у меня возникают проблемы с моим методом инициализации и загрузкой файла FXML в целом.
Я не уверен, что мне не хватает, но я помогу сПрограмма будет оценена.
Выдержка из класса контроллера:
public class Controller implements Initializable {
@FXML TextField input;
@FXML TextArea output;
@FXML RadioMenuItem chooseLonghand;
@FXML RadioMenuItem chooseRoman;
@FXML Button addInput;
String number;
Object conversion;
Alert alert;
BufferedNumberConverter converter;
TextInputDialog retry = new TextInputDialog("Enter a valid integer");
public Controller(){
}
@FXML
public void initialize(URL url, ResourceBundle resourceBundle) {
final ToggleGroup group = new ToggleGroup();
chooseLonghand.setToggleGroup(group);
chooseRoman.setToggleGroup(group);
}
Класс запуска:
public class Launcher extends Application {
public static void main(String [] args) {
Application.launch(args);
}
@Override
public void start(Stage stage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("GUI.fxml"));
stage.setScene(new Scene(root));
stage.setTitle("Number Converter");
stage.show();
// Close all windows when primaryStage closed
stage.setOnCloseRequest(ev -> System.exit(0));
}
}
FXML:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.RadioButton?>
<?import javafx.scene.control.TextArea?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.Pane?>
<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ragog.Controller">
<children>
<TextArea layoutY="200.0" prefHeight="200.0" prefWidth="600.0" />
<Label layoutX="14.0" layoutY="14.0" prefHeight="17.0" prefWidth="91.0" text="Enter a number:" />
<TextField layoutX="105.0" layoutY="10.0" />
<Button layoutX="265.0" layoutY="10.0" mnemonicParsing="false" onAction="#addInput" text="Add Input" />
<RadioButton layoutX="160.0" layoutY="56.0" mnemonicParsing="false" onAction="#chooseLonghand" text="Rewrite in longhand" />
<RadioButton layoutX="160.0" layoutY="85.0" mnemonicParsing="false" onAction="#chooseRoman" prefHeight="17.0" prefWidth="177.0" text="Rewrite in roman numerals" />
<Button layoutX="355.0" layoutY="81.0" mnemonicParsing="false" onAction="#rewrite" text="Rewrite!" />
<Button layoutX="14.0" layoutY="158.0" mnemonicParsing="false" onAction="#output" text="Output:" />
</children>
</Pane>