0
我折磨谷歌与多个问题,但仍不能得到一个观点。JAVAFX场景生成器多个控制器
我想建立的应用程序与SceneBuilder填充2个FXML场景。每个都有自己的控制器。 我使用ControlledScreen交换场景,这个工程。 但是,我不能改变场景中的任何东西。 例如:我有标签的场景控制器:
public class ControllerForm implements ControlledScreen, Initializable {
ScreensController myController;
GraphicsContext GC;
@FXML
private Label fitnessLabel;
public void updateFitnessLabel(double data) {
fitnessLabel.setText(String.valueOf(data));
}
public void initialize(URL location, ResourceBundle resources) {
this.GC = neuroCanvas.getGraphicsContext2D();
}
它在FXML文件中定义为:
<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="684.0" prefWidth="918.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="general.ControllerForm">
<left>
<VBox prefHeight="400.0" prefWidth="189.0" BorderPane.alignment="CENTER">
<children>
<Label fx:id="fitnessLabel" text="Label">
<graphic>
<Text strokeType="OUTSIDE" strokeWidth="0.0" text="Fitness:" />
</graphic>
</Label>
和功能更新标签updateFitnessLabel。
在初始化方法我用GC因为我对这个场景帆布和要画就可以了。
我有方法正在调用该温控功能为:
public class Net {
private ControllerForm controller;
public void drawStart() throws IOException {
FXMLLoader loader = new FXMLLoader(
getClass().getResource(
Main.ScreenFile
)
);
BorderPane cv = loader.load();
// load actual screen
ControllerForm controller =
loader.<ControllerForm>getController();
controller.updateFitnessLabel(12);}
但没有效果。标签不会被更新。
我失去了什么?
我试图用时间轴,但仍然没有效果。 如何执行在这个场景上绘制的东西?
如果您可以提供更多的上下文,这将有所帮助。 FXML是什么样的?有没有其他相关的控制器代码? –
没有更多的相关。 FXML是标准的。如果我在初始化时绘制一些东西,那么控制器就会出现。 – SystemFailure
没有FXML和其他代码示例,将很难帮助诊断您的问题。 –