HTMLコンテンツを表示するJEditorPaneと、選択したテキストを太字にするボタンを使用して、簡単なテストアプリケーションを作成したいと思います。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");
しかし、私はかなり何かが間違っていると確信しています。名前でアクションを取得するには、このヘルパーマップを作成する必要があるとは信じられません。アクションを取得するために私が見つけた唯一の公式メソッドは、配列を返すだけのJEditorPaneのこのgetActions()メソッドのようです。
それで、から特定のアクションをフェッチするためのより良い方法があります、EditorKit
そして私はそれを単に逃しましたか、それとも単に悪いAPIデザインですか?