2016-05-10 7 views
0

別のビュー/モーダルウィンドウの下にあるリスナーからJavaメソッドを呼び出して実行したいと思います。このようにしてコードを書き直すことなく私のメソッドを使用します。状況によっては同じ結果が得られないので、これは私にとっては必要です。だから私は別のモーダルウィンドウからonclickメソッドを呼び出すと思います。これはヴァーダインでどのようにすることができますか?私は、実際にこれを行う方法を知らない、コード例が必要でしょうか?Vaadinの別のウィンドウからonclickリスナーを呼び出す方法

+0

これは、クリックイベントを発生させたいオブジェクトへの参照を保持するだけです。しかし、コードなしで説明するのは難しいです... –

+0

あなたはどのような例を示しますか? – DarioBB

+0

参考文献を渡すことはJavaでは難しいことではありません –

答えて

0

私はあなたがそのメソッドを呼び出すオブジェクトへの参照を保持する必要があると思います。それを行うより良い方法は、インターフェイスを使用してオブジェクトを渡すことです。

public interface A { 

     public void theMethod(); 
} 

class B implements A { 

    public void theMethod(){ 
      //do something here 
    } 
} 

あなたはリスナーを保持するクラスにBの参照を渡すことができ、そこから、あなたが呼び出したいtheMethodを呼び出すことができます。

class YourWindow(){ 

    private A theInstance; 

    yourWindow(A instance) 
    { 
     theInstance = instance; 
    } 

     ... 
    void onClick(){ 
     ... 
     theInstance.theMethod(); 
     ... 
    } 

私はあなたのデザインパターンを研究示唆しています。

デザインパターンは、経験豊富な オブジェクト指向ソフトウェア開発者が使用するベストプラクティスを表しています。デザインパターンは、 ソフトウェアの開発者がソフトウェア開発中に直面した一般的な問題の解決策です。 これらのソリューションは、多くのソフトウェア開発者がかなりの期間にわたって試行錯誤して得たものです。

メディエータとオブザーバを使用すると、このような状況で非常に役に立ちます。

関連する問題