如何从HTMLEditorKit获取特定操作?

时间:2011-12-09 09:52:25

标签: java swing jeditorpane htmleditorkit

我想创建一个简单的测试应用程序,其中JEditorPane显示一些HTML内容和一个按钮,使所选文本变为粗体。 HTMLEditorKit已经为此按钮提供了必要的操作,因此我可以使用复杂的代码,如下所示:

// Build action map
Map<String, Action> actionMap = new HashMap<String, Action>();
for (Action action: editor.getActions())
    actionMap.put("" + action.getValue(Action.NAME), action);

// Get the action
Action action = actionMap.get("font-bold");

但我很确定有什么不对劲。我无法相信我必须创建这个辅助映射来按名称获取操作。我找到的用于检索操作的唯一官方方法似乎是getActions()JEditorPane方法,它只返回一个数组。

那么是否有更好的方法从EditorKit获取特定操作,我只是错过了它,或者只是错误的API设计?

1 个答案:

答案 0 :(得分:5)

为什么要填写自己的地图?

editor.getActionMap().allKeys()
editor.getActionMap().get("font-bold")