件名:

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トピックには下記のMLトピックがレス(返信)されています:
[DP/ML:1508] Re: about Sample in Mediator Pattern 結城浩さん)
 読み込み 中...
<<1506:Re: Main.java in A23-1 1508:Re: about Sample in Mediator Pattern>>
MLトピック表示
切替 トピック表示 メール表示
MLトピック一覧

MLトピック検索:
MLトピックの詳細(メール表示)
MLトピック表示
  切替 トピック表示 メール表示
MLトピック一覧

メーリングリストでつながる!ひろがる!みんなのHappyコミュニティ!

詳細検索
NOEMBLEM/エンブレムが設定されていません。
デザインパターン・メーリングリスト (3963)
 
29 30 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 1 2
メンバーリストは非公開です。
メンバーの日記/フォト/動画
メンバーの投稿は非公開です。
 読み込み中...