プログラムdeタマゴ

nodamushiの著作物は、文章、画像、プログラムにかかわらず全てUnlicenseです

JPen2をアプレットで利用する場合の注意

 もうちょっとだけJPenの内容が続いたんじゃよ。
 タイトル通りJPenをJava appletで使いたいな、とNicolas Carranza氏(開発者)に聞きに行ってきました。
 今までは、セキュリティーマネージャーに引っかかりJPenをJava appletでは動かすことができませんでした。(強引に私は自前ライブラリーからアプレットでも動かせるようにしてたんだけど、私のライブラリが必要になるからあまりよろしい事じゃないよね。)


 そしたら「それはバグだね」という事で直してくれました!ヽ( ・∀・)ノ ワーイ
 まだこの記事書いてる段階ではダウンロードリンクがトップにおかれていませんが、2-110929からはアプレットでも動かせます。ただし、まだ挙動が現時点では怪しく、システムマウスデバイスに反応しません。
 私のライブラリかませると動くから、たぶんどっか特権取り忘れてるんだろうけど、ソースコードがまだ公開されていないのでどこに間違いがあるか分かりません。逆コンパイル?いや、それは面倒くさい
 PenManagerのコンストラクター内部を全部特権で実行するように変更すれば十分な気がするんだけどねぇ。私のライブラリーは単純にPenManagerを特権で作成して返してるだけで、ちゃんとそれで動くから。
 まぁ、報告はしておいたので、そのうち直してくださるでしょう。



JPenのインストール

 JPenをアプレットで使えるようにするには、Javaの拡張機能としてインストールする必要があります。
 拡張機能にインストールは単純に{JAVA_HOME}/lib/extにjpen-2.jar{JAVA_HOME}/binに必要なネイティブライブラリーを入れれば完了です。(わかんなかったら全部突っ込めばOK)
 Windowsの場合はjpen-2.jarを\Sun\Java\Deployment\Lib\Trustedフォルダーにぶちこむと、JREのバージョンが上がっても再インストールしなくて良いので便利です。DLLファイルはPathの通っているところならどこでも良いです。詳しくはこちら
 Macには確かそもそも拡張ファイルは別なディレクトリに保存してたからあまり関係ないですね。OpenJDKになってからどうなったのかは知りません。最近Mac触ってないな〜。
 Linuxはよく分かりません。



MacOSでは動かないかも

 こちらのバグによると、別プロセスで動くJava Appletでタブレットのイベントがどうも取得できないようです。inプロセスだったら動くって事かな。
 結構報告から時間がたっていますが、まだ現状では解決されていないです。まだしばらく時間はかかりそうです。まぁ、マカーはJava(笑)なんて使わないから関係ないな。