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

JavaFX:为节点创建自定义数据属性,java,javafx,fxml,Java,Javafx,Fxml,我目前需要的自定义属性,我可以随时获取。有没有办法为节点创建自定义数据属性,然后在javafx中获取这些值 假设我有下面的按钮 <Button text="Im a button" fooBar="I hold some value" /> 编辑:我需要一个以上的节点数据属性,因为节点可以保存各种信息。要解决您的问题,您应该使用userData它可以是您需要的任何对象 node.setUserData("Hello world"); node2.setUserData(123);

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

假设我有下面的按钮

<Button text="Im a button" fooBar="I hold some value" />

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

要解决您的问题,您应该使用
userData
它可以是您需要的任何对象

node.setUserData("Hello world");
node2.setUserData(123);
等等

如果需要设置多个值,可以将值保存在数组、列表、json等中

ArrayList<String> vals = new ArrayList();
vals.add("Hello");
vals.add("World");
node3.setUserData(vals);
//some code
ArrayList<String> result = (ArrayList) node3.getUserData();
ArrayList vals=new ArrayList();
vals.add(“你好”);
VAL.add(“世界”);
节点3.setUserData(VAL);
//一些代码
ArrayList结果=(ArrayList)node3.getUserData();

数据可以存储在


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

那么使用
userData
怎么样?我们可以拥有多个用户数据吗?所以基本上我也可以使用hashmap或一些关联数组来实现这一点,对吗属性名和值我的属性值是,你可以存储任何你想要的对象。我得说,文档真的很糟糕,你不这么认为吗?我会接受你的答案(等几分钟)我真的这么做了:如何在javafx中创建自定义属性。自定义fxml属性javafx。数据属性javafx。见鬼,我没有找到任何与setUserData xD相关的东西。我肯定做错了,哈哈,这是个更好的答案。认可的
node.setUserData("Hello world");
node2.setUserData(123);
ArrayList<String> vals = new ArrayList();
vals.add("Hello");
vals.add("World");
node3.setUserData(vals);
//some code
ArrayList<String> result = (ArrayList) node3.getUserData();
Node node = ...
node.getProperties().put("foo", "bar");
...
Object foo = node.getProperties().get("foo");