Skip to main content
Interwork Corporation
IDR Solutions Product Support Portal
モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動

Viewer機能をカスタム実装で置き換える

Viewerのカスタマイズ機能は、JPedalActionHandlerインターフェース を使用して、既存の組み込み機能を独自の実装に置き換えることまで拡張されています。

以下では、JPedalActionHandlerを実装し、Viewerに組み込んで既存の機能を置き換える方法について説明します。

独自のJPedalActionHandler実装を作成する

JPedalActionHandlerには、リンクされたコマンドがトリガーされたときに呼び出される単一のメソッドが含まれています。

public void actionPerformed(SwingGUI currentGUI, Commands commands);

このメソッドは、すべてのGUIコンポーネントとコントロールを保持するSwingGUIのコピーと、Viewer APIでコマンドをトリガーできるCommandsを受け取ります。

このメソッド内で、指定されたコマンドに対するカスタムハンドリングを記述します。

例えば、以下はシステムのデフォルトブラウザでカスタムURLを開く実装です。

JPedalActionHandler helpAction = new JPedalActionHandler() {
    public void actionPerformed(SwingGUI currentGUI, Commands commands) {
        try {
            java.awt.Desktop.getDesktop().browse(new URI(("https://example.com/")));
        } catch (final Exception e) {
            LogWriter.writeLog("Exception attempting launch browser: " + e);
        }
    }
};

既存の機能を上書きする

JPedalActionHandler実装を作成したら、Viewer.addExternalHandler(Object newHandler, int type)を使用してViewerに渡す必要があります。

Viewerでは2種類のExternal Handlerを使用できます。FormsActionHandlerとJPedalActionHandlerで、これらはorg.jpedal.external.Options クラスで提供されているint値を使用して指定できます。

Map入力は、実装したいすべてのJPedalActionHandlerのマップであり、キーは置き換えたいCommandの整数値 です。

上記の例を続けると、JPedalActionHandler実装でCommands.HELPアクションを次のように置き換えることができます。

Map actions = new HashMap();
actions.put(new Integer(Commands.HELP), helpAction);
viewer.addExternalHandler(actions, Options.JPedalActionHandler);