Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在DefaultMutableTreeNode(JavaSwing)中存储CORBA对象?_Java_String_Swing_Corba - Fatal编程技术网

如何在DefaultMutableTreeNode(JavaSwing)中存储CORBA对象?

如何在DefaultMutableTreeNode(JavaSwing)中存储CORBA对象?,java,string,swing,corba,Java,String,Swing,Corba,我知道前一段时间我问过,但我有一个新的问题非常相似——但你们当时给我的解决方案现在不起作用了:( 我有一个IDL接口: interface User { string toString(); //.. }; interface Group { typedef sequence<User> Users; Users getUsers(); }; 在客户端(用Java编写),我想向我的用户展示一下 // ... Group::Users* Group

我知道前一段时间我问过,但我有一个新的问题非常相似——但你们当时给我的解决方案现在不起作用了:(

我有一个IDL接口:

interface User {
    string toString();
    //..
};

interface Group {
    typedef sequence<User> Users;
    Users getUsers();

};
在客户端(用Java编写),我想向我的用户展示一下

// ...
Group::Users* GroupImpl::getUsers()
{
    // ..return sequence of 'User'-objects
}
public void showAllUsers() {
    User[] users = interface_obj.getUsers();
    DefaultMutableTreeNode root = new DefaultMutableTreeNode("Main Node");
    for(int i=0; i<users.length;i++) {
        User u = users[i];
        DefaultMutableTreeNode node = new DefaultMutableTreeNode(
            ((UserView)u).getUser());
        root.add(node);
    }

    treeForumReview.setModel(new DefaultTreeModel(root));
}
但当运行所有这些时,我得到一个信息:

当我像我写的那样做时,我只看到我的用户对象的IOR:

IOR :0123405948239481293812312903891208320131293812381023
IOR: 0092930912617819919191818173666288810010199181919919
等等

如何做到这一点,在
DefaultMutableTreeNode
中查看它们的
toString()
表示?我不想这样做:

model.addElement(users[i].toString());
这不是重点。当我使用RMI而不是CORBA时,
model.addElement(users[I]);
正是我所需要的,因为我看到了用户的字符串表示。但我需要使用CORBA并存储在DefaultMutableTreeNode CORBA用户对象中,而不是字符串。请帮助。

解决了这个问题:

            if (users != null) {
                for (User f : users) {
                    UserView fv = new UserView(f);
                    DefaultMutableTreeNode node = new DefaultMutableTreeNode(fv);
                    root.add(node);
                }
            }
解决它:

            if (users != null) {
                for (User f : users) {
                    UserView fv = new UserView(f);
                    DefaultMutableTreeNode node = new DefaultMutableTreeNode(fv);
                    root.add(node);
                }
            }