出於某種原因,我的fx:id沒有正確綁定到我的Controller
類,因此總是導致錯誤。JavaFx fx:id導致錯誤
控制器
package sample;
import javafx.fxml.FXML;
import java.awt.*;
import java.awt.event.ActionEvent;
public class Controller {
@FXML public Button button;
public void clickAction(ActionEvent actionEvent) {
System.out.println("Button clicked.");
}
}
FXML
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<BorderPane fx:controller="sample.Controller" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
<Button text="Click me!" fx:id="button" onAction="#clickAction" BorderPane.alignment="CENTER"/>
</BorderPane>
我想我明白我的問題的根源,但我不知道如何正確地解決這一問題。根據this question的回答,我想我正在調用構造函數之前分配FXML元素(並且這些元素只能在初始化期間/之後分配)。
有沒有辦法做到這一點沒有實施Initializable
?還是我犯了一個完全不同的錯誤?
Erhm,什麼樣的錯誤? –
我同意。向我們展示您的堆棧跟蹤。 –