如何在DefaultMutableTreeNode(JavaSwing)中存储CORBA对象?
我知道前一段时间我问过,但我有一个新的问题非常相似——但你们当时给我的解决方案现在不起作用了:( 我有一个IDL接口:如何在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
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);
}
}