绑定的HashMap 到MutableTreeNode(Binding HashMap

2019-10-18 00:55发布

我需要一个绑定HashmapMutableTreeNode ,这样我可以在显示JTree

我有以下代码:

static Map<String, String> form = new LinkedHashMap<String,String>();

我想这就是我需要实现MutableTreeNode 。 我只是不知道现在该怎么procees让“形式”的重点公司在露面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();

Answer 1:

你可能想要的自定义实现TreeModel接口。 正如指出的如何使用树:创建数据模型

所述TreeModel接口接受任何类型的对象作为一个树节点。 它不需要通过节点来表示DefaultMutableTreeNode对象,甚至认为节点实现TreeNode接口。

虽然你的Map<String, String>本质上不是分层的,你可能会从一个想法GenealogyModel ,引在这里 ,或FileTreeModel引用在这里和这里 。



文章来源: Binding HashMap to MutableTreeNode