[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[jfriends] JBuilder/ListControlトホホ技発見!
Java互助会MLのみなさん、こんにちは。
Borland JBuilder の ListControl で、すごいくっだらない技を
発見したので報告します。たぶん FAQ だと思うのですが...
まず、私はこんなクラスを書きました。
User.java
============================================
public class User {
private int no = 0;
private String name = null;;
User() {
}
public int getNo() {
return no;
}
public void setNo(int Value) {
no = Value;
}
public String getName() {
return name;
}
public void setName(String Value) {
name = Value;
}
}
============================================
JBuilder でアプレットに ListControl を貼り付けて
こんなコーディングをしました。
Applet1.java (部分)
============================================
//コンポーネントの初期化
private void jbInit() throws Exception{
xYLayout1.setWidth(400);
xYLayout1.setHeight(363);
this.setLayout(xYLayout1);
User[] users = new User[10];
for (int i=0; i<users.length; i++) {
users[i] = new User();
users[i].setNo( i + 1 );
String st = "name" + i;
users[i].setName(st);
listControl1.addItem(users[i]);
}
this.add(listControl1, new XYConstraints(65, 43, 157, 236));
}
============================================
アプレットを表示してみましたが、どうやら ListControl のデフォルトの
ペインターは基底クラス java.lang.Object の toString() を
コールしているらしく、クラス名とアドレスが表示されます。
そこで、User.java で toString() をオーバーライドしてやります。
User.java (部分)
============================================
public String toString() {
return name;
}
}
============================================
このアプレットを表示してやると、ListControl に
User オブジェクトの name にセットした文字列が表示できます。
JBCL のモデル・ビュー・アーキテクチャーの重要な要素である
ViewManager や Painter をまだ理解していないのですが、
とりあえず姑息な手段で逃げ切れそうです。^^;
---------------------------------------------------------------
遠藤靖之 (えんどう やすゆき)
E-mail: yasuyuki@xxxxxxxxxx
EYasuyuki@xxxxxxxxxx
URL: http://members.aol.com/Eyasuyuki/ (Java互助会ホームページ)
〒171-0022 豊島区南池袋 2-14-10 瀬川池袋ビル 3F
(株)エムティシー 技術営業部
TEL 03-5396-0521
FAX 03-5396-0525
---------------------------------------------------------------