• 締切済み

上階層へのEvent伝達方法

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

  • Java
  • 回答数3
  • ありがとう数4

みんなの回答

noname#2875
noname#2875
回答No.3

下の例ではBクラスのコンストラクタの中だけが aのスコープなので a.method();をコンストラクタの外でやったら aなんてないというコンパイルエラーでますよね(^_^;) 恥ずかしいので自己フォローして見ました。 //ちょっと追加 classB { A a;  B(A a)//コンストラクタ。引数に呼び出しクラス  {   this.a=a;  }  a.method(event); } いわずもがなな感じですが…(^_^;)

bajiru8
質問者

お礼

ありがとうございます。 この方法ならスッキリいきますね。

noname#2875
noname#2875
回答No.2

class A {  B b = new B(this); //自分自身をわたしてBクラス作成  method(Event event)  {   //Bでイベントおこったときにしたいこと  } } classB {  B(A a)//コンストラクタ。引数に呼び出しクラス  {}  //Bクラスでイベントがあがったとき  //引数におこったイベントわたしてaのメソッド呼び出し  a.method(event); } とかA自身を渡してあげるとか…。 そゆことではないです?(^_^;) 初心者考えですが… これでは解決できないでしょか…。違うかな。

  • arata
  • ベストアンサー率49% (139/279)
回答No.1

super.メソッド(パラメータ) で、サブクラスのメソッドから、スーパークラスのメソッドが呼べますよね。

bajiru8
質問者

補足

質問の仕方を間違えました。上階層とか下階層とか言うのは、継承関係の事を いいたかったのではありません。 例えば、AクラスがBクラスを呼び出した時に、Bクラスで発生したEventを Aクラスが知りたいのです。呼び出し側のクラスにEventを伝えたいのです。 すみませんでした。

関連するQ&A

  • 一つ上の階層へ

    一つ上の階層へ Windows7を使っています。 XPの時はツールバーに上矢印のボタンがあり、フォルダの一つ上の階層へ移動することができましたが、7ではそのようなボタンがありません。 どのようにして設定することができるでしょうか?

  • エクスプローラーで一つ上の階層への行き方

    前々から気になっていたことですが・・・。 OSwin7 64bit エクスプローラの右上の検索エリアに文字を入力して検索し、ヒットしたフォルダに移動した後そのフォルダの一つ上の階層へなるべく簡単に行く方法はありませんか? そのヒットしたフォルダに移動後はALT+↑を使っても検索画面に戻るだけですよね。 XPの時は一つ上の階層へボタンひとつで行けたのですが、win7はそれが無くなりとても不便です。 Weeというツールを使ったのですが検索画面に戻るだけでした。 検索後ヒットしたフォルダから一つ上の階層へ簡単に移動できる方法はありませんか?

  • 画像を階層で表示する方法を教えてください。

    現在プログラミングを学んでいる、Java初心者です。 SwingでHTMLのリンクように、画像をクリックすると同じフレームの中で、下の階層に移り、メニューボタンを押すと最上階層に移る画面を作りたいのですが、Swnigの本などで調べても、なかなか見つからず困っております。 Swingでこのような事ができるのかどうか、ご存知の方おられましたら教えてください。 また、もしこのような技術あるのであれば、参考になる本やサイトなども教えてください。よろしくお願いいたします。

    • ベストアンサー
    • Java
  • DLL内のイベントをハンドリング

    VB2008にて、外部DLL(VB2008作成)を使用しようと考えています。 外部DLLの仕様書には、メソッド、イベント、プロパティが記載されており、 外部DLLの発生させるイベントをハンドリングしたいのですがうまくいきません。 「参照の追加」にてDLLを指定し、ソース内で該当DLLのクラスもインスタンス化し、 DLL内のメソッドは使用できています。 イベントに関して仕様書には Event001(Byval arg1,Byval arg2)、Event002(Byval arg1,Byval arg2)、Event003… このように記載されています。 該当DLLのインスタンス化したものをTestClassとして、 Public Event TestEvent Handles TestClass.Event001 という記載では駄目でした。 外部DLLのイベントのハンドリングについて、ご教授頂けましたら幸いです。

  • エクスプローラーに「上の階層」ボタンが無くて不便

    WinXPのエクスプローラーには存在していた 「上の階層」ボタン(上向きの矢印のボタン)が Win7には存在しません。 Win7でエクスプローラーフォルダーを 上へ上へと登りたい時 とても不便です。 Win7のエクスプローラーに 「上の階層」ボタンを設置することはできませんか。 方法を教えてください。

  • コンピューターの”階層”と”環境”を英語で言うと?

    英語でコンピューターのフォルダの“階層”は何といえばいいのでしょうか? “これらのファイルはXXXと同じ階層に置いてください”というようなことを伝えたいと思っています。 また、上の階層、下の階層はそれぞれ“Upper, Lower”でいいのでしょうか? 2つ上の階層、3つ下の階層はなんと表現すればいいのでしょうか? もうひとつ、コンピューターの“環境”(OSやハードウェア、使用ソフトなど)は何といえばいいのでしょうか? “問題がある場合はそちらの環境を教えてください”というようなことを伝えたいと思っています。 よろしくお願いします。

  • Androidイベントリスナ、イベントハンドラ違い

    Androidににおける「イベントリスナ」「イベントハンドラ」の違いを教えてください ・イベントに対応するメソッドが、「View クラスのインターフェイス」「View クラス」に分かれている理由が分かりません ・なぜメソッドによって、「インターフェイス」にあったり、「クラス」にあったりするのでしょうか? ・「onKeyDown」みたいにAndroid 自体が自動検知(?)するイベント対応メソッドは、「View クラス」に書かれる決まり? ・「onClick」などのイベントは、リスナに登録しないと利用できないから(?)、「インターフェイス」に書いてある? ・「イベントリスナ」は、「イベントハンドラ」の一種類なのでしょうか? ▽6.5 UIイベントハンドリング - ソフトウェア技術ドキュメントを勝手に翻訳   https://sites.google.com/a/techdoctranslator.com/jp/android/guide/ui/ui-events#EventHandlers

    • ベストアンサー
    • Java
  • ボタンとイベント

    Visual Basic 2008 Express Editionで、 ボタン1をクリックしたらイベント1が発生し、 もう一度ボタン1をクリックしたらイベント2が 発生するようにするには、どう書けばいいですか?

  • IEのお気に入りの階層表示について

    お気に入りをフォルダに分け整理しているのですが 今までは“A”のフォルダの下階層が開いた状況で “B”のフォルダをクリックすると“A”のフォルダの下階層が 閉じ“B”の下階層だけが開いていたのですが OSを再インストールしたところ “A”のフォルダの下階層が開いたまま“B”の下階層も 開くようになってしまいました。 なので“C”“D”と開いていくとどんどんお気に入り画面が長くなって いってしまいます。。。 設定をどこでするのか探したのですが見つかりません。 お分かりになる方よろしくお願い致します。

  • 「イベント」とは?

    私は組込みシステムエンジニアをしています。 私が知る「イベント」という用語は、 「コンピュータの内部または外部にて何らかの変化が発生した際にプログラムに発信される信号」 を指し、その「イベント」に対する処理を「イベントハンドル処理」等と呼んでいます。 上を具体的な例で言うと 「(1)ボタンをクリックする」→「(2)ポップアップメッセージが出る」 だとすると、(1)が「イベント」で、(2)が「イベントハンドル処理」です。 ところが、最近ゲーム業界の方と一緒にお仕事をすることになり、その方は「イベント」は、私が「イベントハンドル処理」を指す用語だと言うのです。 業界によって「イベント」は別の意味だということなのでしょうか。