• 締切
  • 困ってます

上階層へのEvent伝達方法

  • 質問No.38085
  • 閲覧数77
  • ありがとう数4
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 84% (27/32)

ある画面にあるボタンが押された時にEventを発生させます。
このEventを、画面を呼び出した上階層クラスでも
ハンドリングさせたいと思います。
ボタンがある画面クラスか、それよりも下の階層へ伝えることは
できますが、上の階層へは伝えることができるのでしょうか?

回答 (全3件)

  • 回答No.3
下の例ではBクラスのコンストラクタの中だけが
aのスコープなので
a.method();をコンストラクタの外でやったら
aなんてないというコンパイルエラーでますよね(^_^;)
恥ずかしいので自己フォローして見ました。

//ちょっと追加
classB
{
A a;
 B(A a)//コンストラクタ。引数に呼び出しクラス
 {
  this.a=a;
 }
 a.method(event);
}

いわずもがなな感じですが…(^_^;)
お礼コメント
bajiru8

お礼率 84% (27/32)

ありがとうございます。
この方法ならスッキリいきますね。
投稿日時:2001/02/10 17:39
  • 回答No.2
class A
{
 B b = new B(this); //自分自身をわたしてBクラス作成
 method(Event event)
 {
  //Bでイベントおこったときにしたいこと
 }
}

classB
{
 B(A a)//コンストラクタ。引数に呼び出しクラス
 {}

 //Bクラスでイベントがあがったとき
 //引数におこったイベントわたしてaのメソッド呼び出し
 a.method(event);
}

とかA自身を渡してあげるとか…。


そゆことではないです?(^_^;)
初心者考えですが…

これでは解決できないでしょか…。違うかな。
  • 回答No.1

ベストアンサー率 49% (139/279)

super.メソッド(パラメータ)

で、サブクラスのメソッドから、スーパークラスのメソッドが呼べますよね。
補足コメント
bajiru8

お礼率 84% (27/32)

質問の仕方を間違えました。上階層とか下階層とか言うのは、継承関係の事を
いいたかったのではありません。
例えば、AクラスがBクラスを呼び出した時に、Bクラスで発生したEventを
Aクラスが知りたいのです。呼び出し側のクラスにEventを伝えたいのです。
すみませんでした。
投稿日時:2001/02/09 12:41
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ