如何从Vaadin的另一个窗口调用onclick监听器

时间:2016-05-10 07:02:47

标签: java vaadin vaadin7

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

1 个答案:

答案 0 :(得分: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();
       ... 
   }

我建议你学习设计模式。

  

设计模式代表经验丰富的最佳实践   面向对象的软件开发人员。设计模式是解决方案   软件开发人员在软件中遇到的一般问题   发展。这些解决方案是通过试验获得的   许多软件开发人员在相当长的一段时间内。

使用Mediator和Observer在这种情况下非常有用。