java - 如何从 HTMLEditorKit 获取特定操作?

标签 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 设计?

最佳答案

为什么要填写自己的 map ?

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

关于java - 如何从 HTMLEditorKit 获取特定操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8443745/

相关文章:

java - 如何在 JavaFX 中嵌入 Piccolo 2D Canvas ?

java - 如何通过鼠标单击包含 HTML 表格的 JEditorPane 来获取行

java - HTML for Java 组件应该如何引用资源?

java - 如何从 JEditorPane 获取正确的 Unicode 字符串(无 &#enties;)?

Java:方法的继承

Java 和 crossdomain.xml

java - 获取选定的回收 View 的文本(使用 FireBase)

java - AssertEquals 2 列表忽略顺序

java - java中的ImageIcon

java - 如何堆叠传入数据