在我的应用程序(基于 Eclipse RCP)中,我有一个名为的模型对象A
:
A
String name;
String description;
在我的应用程序中,我在视图中使用属性表。要使用属性表,A 对象有一个实现 IPropertySource 的适配器。在这个属性视图中,我可以看到我的对象及其名称和描述,我也可以修改它。我想限制修改。例如,我不希望名称中有变音字符。
Eclipse RCP 中的属性表是否可以检查输入?
在我的应用程序(基于 Eclipse RCP)中,我有一个名为的模型对象A
:
A
String name;
String description;
在我的应用程序中,我在视图中使用属性表。要使用属性表,A 对象有一个实现 IPropertySource 的适配器。在这个属性视图中,我可以看到我的对象及其名称和描述,我也可以修改它。我想限制修改。例如,我不希望名称中有变音字符。
Eclipse RCP 中的属性表是否可以检查输入?
我自己没有玩过这个,但是看看PropertyDescriptors。
我认为您可以创建一个单元格编辑器来进行您想要的编辑。
一种可能性是您可以覆盖适配器的 setPropertyValue 方法(实现 IPropertySource 的类)并在那里检查给定值。如果您不喜欢该值/它具有错误的形式或值,请不要设置该值(或基本上拒绝该值)。
@Override
public void setPropertyValue(Object id, Object value) {
if (id.equals(YOUR_SPECIFIED_ID)) {
//
// check if value is valid here
//
if (IS_VALID) {
deviceEntity.setName((String)value);
}
}
}