私はそのようなIDLインターフェースを持っています:
interface User
{
string toString();
//..
};
interface Group
{
typedef sequence<User> Users;
Users getUsers();
};
それを C++ に翻訳すると、次のような sth が得られました。
// ...
Group::Users* GroupImpl::getUsers()
{
// ..return sequence of 'User'-objects
}
クライアント側 (Java で記述) では、ユーザーに表示したいと考えています。私はこのようにします:
public void showAllUsers()
{
User[] users = interface_obj.getUsers();
if(users.length != 0)
{
DefaultListModel model = new DefaultListModel();
for(int i=0; i<users.length; i++)
model.addElement(users[i]);
this.usersList.setModel(model);
}
}
this.usersList はJList
.
私が書いたようにこれを行うと、Users オブジェクトの IOR のみが表示されます。
IOR :0123405948239481293812312903891208320131293812381023
IOR: 0092930912617819919191818173666288810010199181919919
等々 ...
そのようにする方法、彼らの toString(); を見るために。DefaultListModelの表現?私はこれをしたくありません:
model.addElement(users[i].toString());
それはポイントではありません。CORBA の代わりに RMI を使用すると、model.addElement(users[i]);
ユーザーの文字列表現が表示されるため、まさに必要なものです。しかし、文字列ではなく、CORBA を使用して DefaultListModel corba-user- objectsに格納する必要があります。助けてください。