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

如何在javaFX中从JavaScript内部调用java方法

廖臻
2023-03-14
<VBox xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.initSceneController" >
        <fx:script>
            var executeOnce = false;

            if(executeOnce === false) {
                #setBackground;
                executeOnce = true;
            }

            else {
            }


        </fx:script>

所以我希望fxml文件中的这段代码实际上会调用sceneHandeler中的一个名为setBackground的方法,但它给了我一个错误:

<eval>:5:5 Expected an operand but found error
                #setBackground;
                ^ in <eval> at line number 5 at column number 5

共有1个答案

林华皓
2023-03-14

这并不完全是您所要求的,但是您可能应该在控制器中声明一个initialize()方法。如果存在这样的方法,FXMLLoader将在控制器初始化时执行它。这样,您不需要任何JavaScript。

public void initialize() {
    // choose your random image here
    // imageView.setImage(...);
}

如果您想保持方法私有/受保护,您必须用@fxml对其进行注释。

另请参见FXML指南简介中的Controllers部分。

 类似资料:
  • TL;博士我在通过线程将FFMPEG原始数据从C代码传递到JAVA代码(用于显示)时遇到问题。 有一个服务器可以向其客户端发送编码帧。这些编码的帧是用一些FFMPEG魔法编码的。在客户端接收时,前面提到的帧被解码为原始RGB数据(作为无符号字符*)。现在的问题是,帧在某种“侦听器”中被接收。只要一个线程在后台运行,轮询服务器,并在新帧可用时运行特定的功能。 当前以视频格式显示帧的解决方案是将每个帧

  • 问题内容: 我正在使用Mozilla Rhino JavaScript模拟器。它允许我将Java方法添加到上下文中,然后像调用JavaScript函数一样调用它们。但是我无法使用它,除非使用静态方法。 问题是文档的这一部分: 如果该方法不是静态的,则Java的“ this”值将对应于JavaScript的“ this”值。任何使用不正确的Java类型的’this’值调用该函数的尝试都会导致错误。

  • 问题内容: 因此,我正在编写一个使用大型c 库的Android应用。我可以正常工作,以便Java应用程序可以调用c 委托方法,但是我发现自己希望自己可以将来自c 的消息记录到Android日志中。从Java上这很容易,但是我不知道如何从c 调用Java方法。我的搜索找到了从c 打开jvm的方法,这根本不是我想要做的。理想情况下,我想将日志方法指针传递给c ,然后可以在需要时使用它。当然,Java不

  • 问题内容: 我已经创建了一个applet,并且将要从Web项目上的HTML页面访问applet方法。 这里我的小程序看起来像: 我的HTML页面如下所示: 但是,当我单击单选按钮时,浏览器将挂起,并且无法访问applet方法。 我的applet类位于默认目录中,而HTML位于WebContent文件夹中。我应该更改我的代码吗? 问题答案: 问题是语句检查: 这与JavaScript不完全一样,因为

  • 问题内容: 最近,我遇到了一个神秘的问题,在Android项目,我描述了这里。我以某种方式解决了问题,但仍然不知道其背后的确切原因。 假设我想在内部类中调用函数foo()。问题是,直接调用它有什么区别 或使用外部类实例对其进行调用 此外,如果有人能检查我与此相关的最后一个问题,并向我提供有关错误发生原因的线索,我将不胜感激。非常感谢。 PS:我在某处读到,非静态内部类将始终持有外部类的实例。因此,

  • 问题内容: 我有一个Java类:: 这给了我一个Json数组。现在,我想在JavaScript中一次又一次调用此类的method()以获得新值,因为我更新了我的数据库。我有一个数据网格,当页面首次加载此json数组中的一组值时,该网格运行良好。但是如何使用Ajax刷新数据。或者如何使用Ajax调用method()以便当我单击页面上的按钮时刷新数据。我在Java脚本中调用此方法的代码是:: 我在通过