java—如何在vaadin中从另一个窗口调用onclick侦听器

gzjq41n4  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(248)

我想从位于单独视图/模式窗口下的侦听器调用我的java方法并执行它。这样我就不用重写代码就可以使用我的方法。这对我来说是必要的,因为在某些情况下,我不能得到同样的结果。所以我想从单独的模式窗口调用onclick方法。在瓦丁怎么能做到?我需要示例代码,真的不知道怎么做?

az31mfrm

az31mfrm1#

我认为您应该保留对要调用其方法的对象的引用。但更好的方法是使用接口并使用该接口传递对象。

public interface A {

      public void theMethod ();
}

class B  implements A {

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

可以将b的引用传递给包含listener的类,并从中调用要调用的themethod。

class YourWindow(){

    private A theInstance;

    yourWindow(A instance)
     {
         theInstance = instance;
     }   

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

我建议你学习设计模式。
设计模式代表了有经验的面向对象软件开发人员使用的最佳实践。设计模式是软件开发人员在软件开发过程中遇到的一般问题的解决方案。这些解决方案是由许多软件开发人员在相当长的一段时间内反复试验而获得的。
在这种情况下,使用调解人和观察者是非常有帮助的。

相关问题