Eclipse Form Head消失了

时间:2012-09-18 09:53:37

标签: java forms eclipse-rcp

我有一个奇怪的问题:里面有一个带有部分的表格。还有一些小部件值我根据某些规则验证,如果规则未满足,我在表单头中显示错误,使用MessageManager#addMessage,我从ManagedForm获取。添加错误时,表单头部如下所示:

form head with an error message

当我使我的窗口小部件通过验证并因此删除错误消息时,由于某种原因使用MessageManager#removeMessage(仅在某些情况下)不仅错误而且整个表头消失:

no head

在那之后,无论我做什么它都不会再出现,所以如果我再次添加消息,使用MessageManager只显示控件装饰而不是错误。

我调试了它,发现在某些时候我的getForm()。getHead()。getBounds()。height返回0.

让某人遇到类似的东西或有任何线索,它可能是什么?任何帮助将不胜感激。

我正在使用org.eclipse.ui.forms_3.5.2.r36_v20100702.jar

1 个答案:

答案 0 :(得分:0)

我已经找到了解决这个问题的方法:当MessageManager删除(或隐藏)最后一个错误消息时。我不知道为什么,但它是如何工作的。因此,总是让Header在表单初始化期间添加一些空消息。这样的事情:

managedForm.getMessageManager().addMessage(
              "empty_message_key",
              "",
              null,
              IMessageProvider.NONE);