4
我有以下FXML
:为什么不在JavaFX控制器中注入成员?
<BorderPane fx:controller="mypackage.MainStage" id="BorderPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2">
<bottom>
<ToolBar>
<items>
<Slider id="slider" prefWidth="443.0" />
<Label text="Record:" />
<TextField prefWidth="46.0" />
<Label text=" of " />
<Label id="totalLabel" text="0" />
</items>
</ToolBar>
</bottom>
<center>
<Pane id="mainPane" prefHeight="200.0" prefWidth="200.0" />
</center>
<top>
<ToolBar>
<items>
<Button mnemonicParsing="false" text="Load more" />
</items>
</ToolBar>
</top>
</BorderPane>
和下面的控制器代码:
public class MainStage implements Initializable {
@FXML
private Pane mainPane;
@FXML
private Label totalLabel;
@Override
public void initialize(URL location, ResourceBundle resources) {
totalLabel.setText("245");
}
}
和下面的应用程序代码
public class MyClass extends Application
{
@Override
public void start(Stage stage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("MainStage.fxml"));
Scene scene = new Scene(root);
stage.setTitle("MyClass");
stage.setScene(scene);
stage.show();
}
public static void main(String[] args)
{
launch(args);
}
}
如果我设置断点initialize()
我看到它是叫,但成员是null
。
为什么不注射?