当前位置: 首页 > 知识库问答 >
问题:

JAVAFX Scene builder多控制器

方风华
2023-03-14
    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();
               }
<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>

我有一个调用此函数的方法:

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);}

但没有效果。标签将不会更新。

我错过了什么?

我试着用时间线,但还是没有效果。如何在这个场景上画一些东西?

共有1个答案

酆光熙
2023-03-14

好吧,我找到解决办法了。

loader.load返回对象。但我需要一个初始对象而不是一个新的。是否使用此答案-FXMLLoader getController返回NULL?

这不是最优的,但我不知道如何得到初始对象。

 类似资料:
  • 英文原文:http://emberjs.com/guides/controllers/representing-multiple-models-with-arraycontroller/ Ember.ArrayController用于代表一组模型。通过在路由的setupController方法中设置ArrayController的model属性,来指定其代表的模型。 可以将ArrayControl

  • 我试图实现的是通过@foreach发布所有新闻,并在@foreach-do-other@foreach之间发布所有带有新闻帖子ID的评论。 我不确定如何将此ID传递给getNews评论函数。 我的控制器: 路线: 新闻模式: 注释模型: 看法 错误: 未定义变量:newsComments(视图:C:\xampp\htdocs\resources\views\index.blade.php)

  • 问题内容: 如果我有多个go例程,并且其中两个或两个以上例程决定需要打印某些内容,那么它们是否可能彼此中断? 例如: 是否有可能一个常规程序开始打印(),而另一个常规程序中断()和原始装订()? 我尝试自己运行它并检查输出,它 看起来 不错,但是如何确定? 问题答案: 是的,有可能,尽管GOMAXPROCS = 1不会显示任何内容。当使用更多goroutine,更大的行和更多的线程运行时,它们将显

  • 问题内容: 我正在尝试建立一个视图-我设置了两个控制器进行练习,一个是HeaderCtrl,其中包含一些数据(网站标题,标题背景等),另一个应该具有页面的主要内容- MainCtrl。 在定义路线时,我这样做是: 这工作得很好,但是我想要为此指定多个参数,如下所示: 这行不通,所以我猜这不是做到这一点的方法。我实际上要问的是-您可以在$ routeProvider中指定多个控制器吗?还是构建此视图

  • 在创建资源类和指定资源格输出式化后, 下一步就是创建控制器操作将资源通过 RESTful APIs 展现给终端用户。 Yii 提供两个控制器基类来简化创建 RESTful 操作的工作:yii\rest\Controller 和 yii\rest\ActiveController, 两个类的差别是后者提供一系列将资源处理成 Active Record 的操作。 因此如果使用 Active Recor

  • 控制器是 MVC 模式中的一部分, 是继承yii\base\Controller类的对象,负责处理请求和生成响应。 具体来说,控制器从应用主体 接管控制后会分析请求数据并传送到模型, 传送模型结果到视图,最后生成输出响应信息。 动作 控制器由 操作 组成,它是执行终端用户请求的最基础的单元, 一个控制器可有一个或多个操作。 如下示例显示包含两个动作view and create 的控制器post: