SWT如何有效地从SelectionListener访问其他控件

时间:2015-05-27 18:42:33

标签: java swt listener jface

我在ViewPart上有一个附加MySelectionListener implements SelectionListener的swt按钮 还有一个禁用的按钮。

监听器应该完成它的工作,如果工作的返回结果是true,它应该启用另一个按钮。

我的问题是什么是最好的方法呢?

现在我要做的是将按钮作为构造函数参数传递给' MySelectionListener',我想还有其他一些方法可以做到这一点。

另一种选择是创建一个接口

public interface EnableButton(){
  void enableButton();
}

View实现它,然后将界面传递给' MySelectionListener'作为构造函数参数再次... 我也不喜欢这种方法,因为这需要为每次更新或我需要的任何其他任务创建和实现多个接口。

我没有使用任何注入框架

1 个答案:

答案 0 :(得分:0)

由于您的selectionListener似乎仅与您的ViewPart相关,因此您可以将其实现为ViewPart中的内部类。

或者将ViewPart作为构造函数参数传递给MySelectionListener。然后让方法MySelectionListener.widgetSelected委托给ViewPart的方法,在那里你可以访问你需要的所有东西,例如按钮。