Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Data binding org.eclipse.swt.widgets.Text控件的默认标签值;防止数据绑定持久化值_Data Binding_Swt - Fatal编程技术网

Data binding org.eclipse.swt.widgets.Text控件的默认标签值;防止数据绑定持久化值

Data binding org.eclipse.swt.widgets.Text控件的默认标签值;防止数据绑定持久化值,data-binding,swt,Data Binding,Swt,Hy 假设一个org.eclipse.swt.widgets.Text控件通过数据绑定连接到模型人。文本代表此人的姓氏 现在,每次更改模型时,值都会更新,这是正常的。现在我想要以下内容: 如果模型中没有姓氏的值,我希望文本控件包含一个提示标签,即s.a.“Insert Lastname”,它不应该被持久化 我可以通过向textcontrol添加modifyListener来创建此行为,该控件设置文本。如果setText的长度为0,我无法阻止数据绑定,然后继续“插入姓氏” 我尝试扩展文本(覆盖ge

Hy

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

现在,每次更改模型时,值都会更新,这是正常的。现在我想要以下内容:

如果模型中没有姓氏的值,我希望文本控件包含一个提示标签,即s.a.“Insert Lastname”,它不应该被持久化

我可以通过向textcontrol添加modifyListener来创建此行为,该控件设置文本。如果setText的长度为0,我无法阻止数据绑定,然后继续“插入姓氏”

我尝试扩展文本(覆盖getText),这是不允许的,将文本包装成“LabeledText”需要修改数据绑定

有人知道这个问题的解决方案吗


Thx

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

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

我似乎刚刚找到了答案。。。。org.eclipse.swt.widgets.Text.setMessage()似乎完成了这项工作:)似乎我刚刚找到了答案。。。。org.eclipse.swt.widgets.Text.setMessage()似乎完成了这项工作:)