fbpx
< 戻る
印刷

ビューアの機能をカスタマイズする

ビューアのカスタマイズは、JPedalActionHandlerインターフェイスを使用して、 既存のビルトイン機能を独自の機能に置き換えることができます。

ここでは、JPedalActionHandlerを実装し、ビューアに組み込んで既存の機能を置き換える方法を説明します。

独自のJPedalActionHandler 実装の作成

JPedalActionHandlerには、リンク先のコマンドがトリガーされたときに呼び出されるメソッドが一つあります。

				
					public void actionPerformed(SwingGUI currentGUI, Commands commands);
				
			

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

このメソッドで、指定されたコマンドのカスタムハンドリングを書き出します。

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

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

既存の機能の上書き

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

ビューアは2種類の外部ハンドラを使用することができます。FormsActionHandler と JPedalActionHandler の2種類で、org.jpedal.external.Options クラスで提供されるint値を使用して指定します。

Map入力には、置き換えたいコマンド整数をキーとして、実装したいJPedalActionHandlerのマップを指定します。

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

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