org.eclipse.swt.widgets.Text控件的默认标签值;防止数据绑定持续存在的价值

时间:2011-09-26 14:31:53

标签: data-binding swt

HY,

假设org.eclipse.swt.widgets.Text控件通过数据绑定连接到模型Person。文字代表该人的姓氏。

现在,每次更改模型时,值都会更新,这没关系。现在我想要以下内容:

如果模型中没有surname值,我希望text-control包含一个提示标签s.a. “插入姓氏”,不应该被保留!

我可以通过在textcontrol中添加一个modifyListener来创建这个行为,如果setText的长度是0,则设置文本,但是,我无法阻止,然后数据绑定继续“插入姓氏”!

我尝试扩展Text(覆盖getText),这是不允许的,将Text包装成“LabeledText”需要我修改DataBinding!

任何人都知道这方面的解决方案吗?

THX

2 个答案:

答案 0 :(得分:2)

org.eclipse.swt.widgets.Text.setMessage()是一个完全执行请求任务的方法。

答案 1 :(得分:1)

我认为使用标准SWT小部件模拟这种行为非常困难。因此,您可能需要创建一个自定义窗口小部件,其中包含验证模拟。您的验证器应该返回验证状态,可以在以后使用。