我想使用 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 设计?
最佳答案
为什么要填写自己的 map ?
editor.getActionMap().allKeys()
editor.getActionMap().get("font-bold")
关于java - 如何从 HTMLEditorKit 获取特定操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8443745/