JavaFX:为节点创建定制数据属性

Asp*_*ger 4 java javafx fxml

我目前需要可以随时获取的自定义属性。有什么方法可以为节点创建自定义数据属性,然后在javafx中获取这些值?

假设我有以下按钮。

<Button text="Im a button" fooBar="I hold some value" />
Run Code Online (Sandbox Code Playgroud)

类似于:https : //developer.mozilla.org/de/docs/Web/Guide/HTML/Using_data_attributes

现在,在HTML中,我可以简单地执行以下操作:

<div id="example" data-foobar="I hold some value"></div>
Run Code Online (Sandbox Code Playgroud)

然后,我可以轻松地获得如下数据:

document.getElementById("example").dataset.foobar;
Run Code Online (Sandbox Code Playgroud)

编辑:我需要一个节点的多个数据属性,因为一个节点可以保存各种信息。

fab*_*ian 6

该数据可以被存储在所述properties ObservableMap一个的Node

Node node = ...
node.getProperties().put("foo", "bar");
...
Object foo = node.getProperties().get("foo");
Run Code Online (Sandbox Code Playgroud)

但是请注意,某些布局属性也使用此映射,因此,不应将类似于javafx属性/“静态”属性的属性名称用作键。为确保您可以创建一个自定义键类,true如果将另一类型的对象作为参数传递给,则该键类不会返回equals