问题标签 [propertyeditor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
43 浏览

delphi - 从 OpenToolsAPI 调用 PropertyEditor

当我使用通过 OTA 创建的 ShortCut 或单击 MenuItem 时,我需要调用 PropertyEditor。

例如:我需要为 Hint 属性打开一个表单。这在我单击提示属性时有效,但我需要使用通过 OTA 创建的快捷方式或单击通过 ComponentEditor 创建的 MenuItem 来使用相同的行为。

有可能的?

0 投票
0 回答
44 浏览

java - PropertyEditorManager - 如何为枚举注册备用编辑器?

需要明确的是,这具体是一个 Java 8 问题。

我有一个类,用于将 Map<String, String>、值选择函数等绑定到模型,我使用以下代码查找给定 PropertyDescriptor 类型所需的编辑器。

在有问题的类中,我有一个静态代码块,它为其他类型注册额外的属性编辑器,如下所示:

这对我很有用,因为我可以轻松地基于 String 值绑定到上述类型。

我正在寻求实现一个枚举编辑器,它不仅可以获取枚举常量文本值,还可以将索引作为字符串并仍然绑定。

不幸的是,Java本身提供的EnumEditor只允许枚举常量文本值,不允许索引,也不允许子类化,所以我尝试了这个类:

在我的静态代码块中,我尝试通过以下方式添加这个新的属性编辑器:

但是,这不会用我的新 EnumEditor 覆盖现有的 EnumEditor。当调用 findEditor 时,我仍然得到 Java EnumEditor 实现而不是我自己的。

任何人都知道我怎样才能成功地覆盖 Java 实现?

顺便说一句,我不能直接注册枚举类,因为这段代码位于核心库中,我更希望编辑器在不知道它需要处理的所有枚举类的情况下以“硬编码”的形式注册感觉。如果可能的话,我更愿意像我尝试做的那样做。

有什么想法吗?如果您需要任何进一步的说明或代码,请告诉我,我会相应地提供。不过,对我来说,这里的关键问题是尝试注册我的自定义属性编辑器不起作用。为尚未处理的类添加编辑器,但不是已注册的类。