【发布时间】:2016-10-18 12:51:07
【问题描述】:
我正在使用 Eclipse MessageManager 在输入无效的情况下提供错误消息。例如:
mmng.addMessage("textLength", "blah", null, IMessageProvider.ERROR, field);
我这样做了两次。一次在 ModifyListener 的实例中,一次在创建 Text 字段之后,以便在加载时验证输入。
当在modifyEvent 的子实例的modifyEvent 方法中调用addMessage 方法时,MessageManager 在页面标题和文本字段(装饰器)旁边显示错误。但是,在创建文本字段后立即添加消息时,只会显示一个装饰器(标题中没有错误说“检测到 n 个错误”)。
我想知道为什么会这样。我用 Eclipse ProductEditor 对此进行了测试,实际上有类似的行为。如果您打开第一页上有错误的.product 文件,则错误不会出现在标题中(只会出现装饰器)。但是,当切换到其他页面再切换回这个特定页面时,会出现页眉中的错误。不幸的是,这不是我这边的情况。如果我能实现相同的行为,我会很满意,即使最好的情况是在两个位置、标题和字段旁边作为装饰器自动显示错误。
我也尝试通过调用MessageManager实例的update()方法来解决这个问题,但不幸的是,这并没有解开谜团。
顺便说一下,我使用的是 Eclipse Luna 2。
【问题讨论】:
标签: java eclipse swt eclipse-pde