1

を にバインドして、 に表示できるようにする必要が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();
4

1 に答える 1

3

TreeModelおそらく、インターフェースのカスタム実装が必要になるでしょう。ツリーの使用方法: データ モデルの作成で説明したように、

インターフェイスは、あらゆる種類のTreeModelオブジェクトをツリー ノードとして受け入れます。ノードをオブジェクトで表現する必要はなく、ノードがインターフェイスDefaultMutableTreeNodeを実装する必要さえありません。TreeNode

あなたは本質的に階層的ではありませんが、ここで引用された、またはここここで引用されMap<String, String>た からアイデアを得ることができます。GenealogyModelFileTreeModel

于 2013-04-18T11:07:12.047 に答える