[英]Binding HashMap<String, String> to MutableTreeNode
我需要将Hashmap
绑定到MutableTreeNode
以便我可以在JTree
显示它。
我有以下代码:
static Map<String, String> form = new LinkedHashMap<String,String>();
我想这就是我需要实现MutableTreeNode
。 我现在不知道如何处理让“形式”的键出现在MutableTreeNode
。
public class MyNode implements MutableTreeNode {
@Override
public Enumeration children() {
// TODO Auto-generated method stub
return null;
}
@Override
public boolean getAllowsChildren() {
// TODO Auto-generated method stub
return false;
}
@Override
public TreeNode getChildAt(int childIndex) {
// TODO Auto-generated method stub
return null;
}
@Override
public int getChildCount() {
// TODO Auto-generated method stub
return 0;
}
@Override
public int getIndex(TreeNode node) {
// TODO Auto-generated method stub
return 0;
}
@Override
public TreeNode getParent() {
// TODO Auto-generated method stub
return null;
}
@Override
public boolean isLeaf() {
// TODO Auto-generated method stub
return false;
}
@Override
public void insert(MutableTreeNode arg0, int arg1) {
// TODO Auto-generated method stub
}
@Override
public void remove(int arg0) {
// TODO Auto-generated method stub
}
@Override
public void remove(MutableTreeNode arg0) {
// TODO Auto-generated method stub
}
@Override
public void removeFromParent() {
// TODO Auto-generated method stub
}
@Override
public void setParent(MutableTreeNode arg0) {
// TODO Auto-generated method stub
}
@Override
public void setUserObject(Object arg0) {
// TODO Auto-generated method stub
}
在MutableTreeNode
正确显示正确的Key
值之后,我希望能够:
final JTree tree = new JTree();
final DefaultMutableTreeNode CustomNode = new DefaultMutableTreeNode("Custom");
DefaultTreeModel tm = new DefaultTreeModel(CustomNode);
tree.setModel(tm);
for (String str : form.keySet())
{
MyNode nod = new MyNode(str);
CustomNode.add(node);
}
tm.reload();
您可能想要TreeModel
接口的自定义实现。 如如何使用树:创建数据模型中所述 ,
TreeModel
接口接受任何类型的对象作为树节点。 它不要求DefaultMutableTreeNode
对象表示节点,甚至不要求节点实现TreeNode
接口。
尽管您的Map<String, String>
本质上不是分层的,但您可以从这里引用的GenealogyModel
或此处和此处引用的FileTreeModel
获得一个想法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.