JavaFX 2 TreeItem中节点的模型标识符 [英] Model-Identifier for Node in JavaFX 2 TreeItem
问题描述
是否可以在JavaFX 2 TreeItem<String>
中存储模型对象的标识符或模型对象本身?只有Value
可以存储文本...
Is there a way to store an identifier of a model object or the model object itself in a JavaFX 2 TreeItem<String>
? There is just Value
to store the text...
我正在从模型对象列表中填充TreeView
,并且需要在用户单击节点时找到它.我曾经在.NET Windows Forms或HTML中使用Value
和Text
,但是恐怕我无法将这种思维方式适应JavaFX ...
I'm populating a TreeView
from a list of model objects, and need to find it when the user clicks a node. I'm used to work with Value
and Text
in .NET Windows Forms or HTML and I am afraid I cannot adapt this way of thinking to JavaFX...
推荐答案
您可以将任何对象与TreeView一起使用,它们仅需覆盖toString()
即可呈现或扩展javafx.scene.Node
You can use any objects with TreeView, they just have to override toString()
for presenting or extend javafx.scene.Node
例如下课:
private static class MyObject {
private final String value;
public MyObject(String st) { value = st; }
public String toString() { return "MyObject{" + "value=" + value + '}'; }
}
TreeView应该以以下方式创建:
TreeView should be created next way:
TreeView<MyObject> treeView = new TreeView<MyObject>();
TreeItem<MyObject> treeRoot = new TreeItem<MyObject>(new MyObject("Root node"));
treeView.setRoot(treeRoot);
这篇关于JavaFX 2 TreeItem中节点的模型标识符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!