我在使用向导页面时遇到了Eclipse RCP应用程序和一种奇怪的行为。以下情况:
我有一个向导页面,它是多页面向导的一部分。在此页面,我覆盖了createContent(...)
方法来创建我的小部件等。创建我的小部件之后,调用了2个私有方法addListeners()
和init()
,它们将我的小部件初始化为模型并添加一些监听器(例如ModifyListener)。晦涩的行为如下:当我第一次打电话给init()
并且在那个电话addListeners()
之后,一切正常。但是,如果我这样做,反之亦然,我在WizardDialog.updateButtons()
方法中获得了NullPointerException,这是RCP框架的一部分:有一个名为currentPage
的变量,如下面的代码摘录所示。该变量导致上述NPE。如果我以正确的方式执行,则正确设置变量。
...
if (backButton != null) {
backButton.setEnabled(currentPage.getPreviousPage() != null);
}
...
我没有得到这种行为。某人可以向我解释一下吗?在上面提到的2个私有方法中,没有进行框架调用。也许这是一些时间问题?
祝你好运, AnarchoEnte