FXML 中的 JavaScript 脚本

2023-12-25

我正在尝试从 FXML 运行以下示例参考 https://docs.oracle.com/javase/8/javafx/api/javafx/fxml/doc-files/introduction_to_fxml.html#script_blocks_not_limited:

此示例包括在 JavaScript 脚本中声明一个 String 变量,并稍后在 FXML 中使用它$用于在标签中显示字符串的运算符。

问题是,当我使用 Java 8u40 运行此示例时,标签为空,而不是显示声明的字符串。

JavaFxComponent.java:

public class JavaFxComponent extends VBox {
    public JavaFxComponent() throws Exception {
        FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("/JavaFxComponent.fxml"));
        fxmlLoader.setRoot(this);
        fxmlLoader.load();
    }
}

JavaFxComponent.fxml:

<?xml version="1.0" encoding="UTF-8"?>
<?language javascript?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<fx:root type="javafx.scene.layout.VBox" xmlns="http://javafx.com/javafx/8"
    xmlns:fx="http://javafx.com/fxml">
    <fx:script>
        var myText = "This is the text of my label.";
    </fx:script>
    <Label text="$myText" />
</fx:root>

JavaFx测试:

public class JavaFxTest extends Application {
    @Override
    public void start(Stage primaryStage) throws Exception {
        primaryStage.setScene(new Scene(new JavaFxComponent()));
        primaryStage.show();
    }

    public static final void main(String[] args) {
        launch(args);
    }
}

看起来 ”var myText" 不会在 ' 的范围内创建引用$' 执行查找。这可能不是您正在寻找的答案,但是我相信,对于那些偶然发现同一问题的人来说,提及替代方案是有用的,至少在这个问题得到解决或有人对此事有更多了解之前是这样。

  1. <fx:define>
         <String fx:id="myText" fx:value="This is the text of my label." /> 
    </fx:define>
    <Label text="$myText" />
    
  2. <Label fx:id="myLabel" />
    <fx:script>
        myLabel.text = "This is the text of my label.";
    </fx:script>
    

注意:第一种方法有效<?import java.lang.String?>需要进口。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

FXML 中的 JavaScript 脚本 的相关文章

随机推荐

  • 使用反向迭代器反转 C++ 中的字符串?

    我有以下代码 但我似乎无法找到一种方法来反转此处的字符串 stringstream convert string y string z convert lt lt x string reverse iterator rit y conver
  • 在 C# 中将数据从 datatable 移动到 datagridview

    我有一个 C 程序 它从两个不同的数据库文件中选择数据 并将所需的数据组合到数据表 dt 中 我需要的所有信息都在该数据表中 我想将其放入 datagridview 中 除了数据表中的信息之外 datagridview 中还有两列 当我将每
  • 删除*所有*重复行,除非有“相似”行

    我有以下内容data table library data table dt data table c 1 1 1 2 2 2 2 3 4 c 4 4 4 5 5 6 7 4 5 V1 V2 1 1 4 2 1 4 3 1 4 4 2 5
  • 创建具有左/右侧的用户定义运算符

    我开始使用 pl sql 开发 Oracle 运算符 指南中有一些示例 但现在我坚持一些 在我见过的所有例子中 它总是这样的 CREATE OPERATOR Contains BINDING VARCHAR2 VARCHAR2 RETURN
  • 从 .NET 中的 app.config 或 web.config 读取设置

    我正在开发一个 C 类库 它需要能够从web config or app config文件 取决于 DLL 是从 ASP NET Web 应用程序还是 Windows 窗体应用程序引用 我发现 ConfigurationSettings A
  • 使用 VBA Excel 将范围内的单元格值增加 1

    我目前正在尝试实现插入新行值和自动复选框插入器 我目前将以下代码分布在不同的按钮上 因此分布在不同的子按钮上 我已将需要增加 1 个单元格的关键信息加粗 这将在单击 InsertNewBill 按钮后发生 Private Sub Inser
  • 错误:E0708:E0708:无效转换

    使用这个tutorial https blogs oracle com datawarehousing entry building simple workflows in oozie我为配置单元脚本创建了工作流程 但当我运行以下命令时出现
  • kotlin 中的全局对象声明

    如何在全局中声明对象kotlin就像在java中一样TextView tv 或者在不同方法 函数中调用相同变量的任何方法 override fun onCreate savedInstanceState Bundle super onCre
  • 如何设置即使在打瞌睡模式下也能工作的重复闹钟?

    我知道 setExactAndAllowWhileIdle 即使在 Doze 模式下也会调用警报 但如何让它每天重复 因为没有 setRepeatingAndAllowWhileIdle 类型的方法 None
  • Web API 2 项目和 MVC 5 网站项目在同一域中

    使用的技术 BreezeJS OData 网络应用程序接口2 MVC 5 集成开发环境 Visual Studio 2013 我一直在考虑在一个解决方案中拥有一个 Web API 项目和一个单独的网站项目的想法 我的 Web API 2 项
  • Java 8 Base64 JWT 令牌转换为 JSON

    因此 我在网上和 StackOverflow 上对此进行了一些研究 并且尝试了许多我发现的建议 问题是我正在登录我们的一项运行良好的 Oauth2 服务 我获得了 Oath2 JWT 令牌 我知道这是 Base64 编码的 我可以将令牌放入
  • 有没有办法在 mongoDB 中将 $exists 与 $expr 一起使用?

    我是 mongoDB 的新手 我需要在 mongoDB 中将 exists 与 expr 一起使用 我尝试了以下操作 lookup as collectionDet from collection let userId userId pip
  • 如何在 nextflow 工作流程中正确格式化“pod.securityContext”指令?

    我正在尝试配置podNextflow 流程中的指令 文档在这里 https www nextflow io docs latest process html process pod 我正在尝试遵循解决方案在这个SO问题中提供 https s
  • 如何在Powerpoint 2007 VBA中检测主题字体?

    有谁知道如何使用 VBA 检测 Powerpoint 2007 幻灯片对象中主题字体的使用 如果有人看Shape TextFrame TextRange Font Name字体名称显示为简单名称 例如 Arial 无论字体是否指定为固定名称
  • 在地址栏中隐藏查询参数 - VueJS

    我正在使用 Vue js 2 我正在尝试创建一个链接 将我发送到另一个页面 这就是我所拥有的 div div
  • 可以在亚马逊s3上存储json吗?

    我想将 json 文件存储到我的亚马逊 s3 然后使用 ajax 请求检索它 不幸的是 s3 似乎不允许内容类型 application json 我应该将文件保存为文本 纯文本 然后使用 php 添加标头 我已经找到问题了 我以错误的方式
  • 让 NSTimeZone 在单元测试中无故障

    因此 在 Objective C 中对日历代码进行单元测试时存在以下问题 时区包含有关夏令时的信息 因此您在夏天编写一个测试 预计 6 月 10 日的日出发生在早上 6 02 您的测试通过了 稍后 您在非 DST 时运行测试并且失败 因为当
  • Python 删除链表中的重复项

    我正在运行下面的代码以从链接列表中删除重复项 但我的代码仅在删除重复项之前打印链接列表 一旦调用removeDup方法 它就不会打印任何内容 下面是我的代码 请告诉我我错过了什么 class Node def init self data
  • 如何在 Chrome 开发工具中查找事件监听器?

    我知道将鼠标悬停在一个元素上会导致另一个元素添加一个新类 如何检查此 eventListener 在 Chrome 上的位置和内容 这Event ListenersChrome 中的选项卡仅列出文档上的一些侦听器 而不是任何特定元素 要查看
  • FXML 中的 JavaScript 脚本

    我正在尝试从 FXML 运行以下示例参考 https docs oracle com javase 8 javafx api javafx fxml doc files introduction to fxml html script bl