[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends] Re: JBuilder2におけるMVCモデル




>2. ボタンに対するアクションの実体をコーディングするメソッドは
>JFrameのメソッドとして出来上がってしまう。(メソッド生成先を
>指定できない)
>→MVCアーキテクチャで、JFrameをVIEW、データの本体をMODEL、
>両者を取り持つものをCONTROLLERとし、アクションの実体は
>CONTROLLERのメソッドとしてコーディングしたいのだが、できない。

 Listener を implement したAdaptorクラスが自動で生成されて、
jbInit() の中でイベントソースとなるコンポーネント(上の例ではボタン)に
addxxxListener されますが、自動で出来たAdaptorクラスでは
イベントソースのコンポーネントが存在しているコンテナー(上の例ではJFrame)
にあるメソッドを呼び出している(コールバックしている?)だけです。

問題は、どうしてこういう仕組みなのか、ということですが、
コンテナークラスのprivateメンバーをアクセス出来るから、
という説があるものの、良くわかりません。
(この議論は、NIFTY-Serve FJBUILDR で読みました)

Adaptor クラスからコールバックせずに、こちらに処理を書いてしまうと、
2-Way ツールで管理しにくいからなのではないかとも推測出来ますが、
わたしもちょっとわかりません。
http://www.inprise.com/ や、inprise の JBuilder NewsGroup や ML に
もしかしたらこういった議論があったかもしれません。

>とまあ、このような点が減点項目になったのですが、JBuilderはこう
>いうものなのでしょうか。
># DelphiやBCBのJAVA版と考えれば、こういうもので当然ですが

こういうものかも知れません。^^;

>それとも私が使い方を知らないだけで、解決方法が用意されているの
>でしょうか。

ビジュアル開発ではやはり Adaptor クラスが自動生成されますので、
自分でクラスを書いて、Listener インターフェースを implement して、
ハンドコーディングで addxxxListnener する^^;

(ほかの方はどうされてますか?)
---------------------------------------------------------------
           遠藤靖之 (えんどう やすゆき)
      URL: http://www.freepage.total.co.jp/jfriends/ (Java互助会ホームページ)
〒171-0022 豊島区南池袋 2-14-10 瀬川池袋ビル 3F
           (株)エムティシー 技術営業部
       TEL 03-5396-0521 / FAX 03-5396-0525