| 件名: | about Sample in Mediator Pattern |
|---|---|
| MLNo. | [DP/ML:1507] |
| 差出人: | 阿部 将典さん |
| 送信日時: | 2002/05/11 17:35 |
| 本文: | 阿部です。
結城さん、A23-1 の件における素早い対応ありがとうございました 。ついでと言っては何ですが、もう一つお願いします。 『Java言語で学ぶデザインパターン入門』の中のMediator パター ンのサンプルプログラムですが、プログラム起動直後は Guest に チェックが入っているのに OK ボタンが押せなくなります。 プログラムを読んでいる限りでは、とてもそんな事は起こり得ない ように思えるのですが、println デバッグをしてみると、 LoginFrame.java のコンストラクタ内における pack() の途中で、 textUserと textPass が textValueChanged()を(何回も)呼び出し ているようです(なぜそんな事が起きるかはさっぱり分かりません が…)。 それゆえ、この問題はコンストラクタ内のcolleagueChanged() と pack() の順番を入れ換えれば一応解決します。ただ個人的には colleagueChanged() メッソドの中身を変えた方がいい気はします が… 例えば以下のようにしてみたらどうでしょうか? public void colleagueChanged(Colleague c){ if(checkGuest.getState()){ textUser.setColleagueEnabled(false); textPass.setColleagueEnabled(false); buttonOk.setColleagueEnabled(true); }else{ textUser.setColleagueEnabled(true); userpassChanged(); } } それでは失礼します。 -- 阿部 将典 mabe@… __________________________________________________ Do You Yahoo!? Yahoo! BB is Broadband by Yahoo! http://bb.yahoo.co.jp/ |
|---|---|
| 設定タグ: | |
| 添付: |
このMLトピックには下記のMLトピックがレス(返信)されています:
読み込み
中...| <<1506:Re: Main.java in A23-1 | 1508:Re: about Sample in Mediator Pattern>> |










