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