- ベストアンサー
指定URLでブラウザを開くほか
こんにちは。 2点お伺いいたしたく投稿しました。 1 スタンドアロン環境で、javaアプリから指定URLでブラウザを開くことはできるでしょうか?windowsとMacOSの場合で教えていただけますか?なお指定urlは インターネット上のアドレスの場合もありますが、自身のPC(file:///c:/xxx/aaa/abc.html 、file:///c:/xxx/bbb/hoge.pdf など)を指す場合もあります。 2 スタンドアロン環境でjavaアプリを起動させる場合は、windowsの場合、MacOSの場合、それぞれでどういった方法が利用しやすいでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
できます。 やったことがないのですが、できるはずです。 Macのやりかたはわからないので、Windows環境のことを書きます。 1、二つの方法があります。 (1-1)既存のブラウザを使う方法 ブラウザは、コマンドラインからURLを指定して使えます。 たとえば >\Program Files\Internet Explorer\iexplore.exe http://www.goo.ne.jp/ のようにするとgooのページが開きます。 また、Javaは、 Runtime#exec(String command); というメソッドによって、外部プログラムを起動することができます。 これを利用して、Javaプログラムの中で、 Runtime.getRuntime().exec( "\\Program Files\\Internet Explorer\\iexplore.exe http://www.goo.ne.jp/"); とするとIEを起動してでページが開けます。 (1-2)JavaではHTMLファイルを表示することは比較的簡単です。 javax.swing.JEditPane#setPage(URL)によって、 JEditPane上にHTMLドキュメントを表示することが可能です。 ただ、IEやmozillaと完全に同じ表示になるかどうかわからないのですが、 とりあえずの表示はできるはずです。 2 「ファイルの関連づけ」を使う手もありますが、 Javaにはパッケージというものがあるので、 単純な関連づけではうまくいきません。 .batファイルを使うのが簡単でしょう。 たとえば、abc.defパッケージのGhiクラスを起動したければ、 java abc.def.Ghi という内容のbatファイルを作ります。それを起動します。 また、Jarにまとめる方法も使えます。
その他の回答 (3)
- dayowl
- ベストアンサー率56% (84/148)
>もう一度JAVAのマニュアルを読んでください。 >本当に256色カラーモードのオプションですか? あ、いけない 大変失礼しました。m(_ _)m 「-Xmx256」のオプションはJAVA仮想マシンにおける最大ヒープサイズの設定でした。 思い込みで書いてしまってすみませんでした。 gantsu-teacher様 ご指摘ありがとうございました。
- gantsu-teacher
- ベストアンサー率36% (4/11)
>robocode.batというバッチファイルに >java -Xmx256M -jar robocode.jar >と記述されていました。 >-Xmx256は256色カラーモードでの実行なので無視できるとして、 >JARファイル(hoge.jar)を作成して >java -jar hoge.jar >というバッチファイルを作ってやるのが良いのではないでしょうか。 もう一度JAVAのマニュアルを読んでください。 本当に256色カラーモードのオプションですか?
- dayowl
- ベストアンサー率56% (84/148)
No.1さんの書かれた方法の通りでこんな感じでできます。 しかしながら、iexplore.exeは、第1引数にURLを指定すると自動的に「http://」を付加してしまうようで、 file:///c:/xxx/aaa/abc.htmlという指定では動かないようです。 (IE6で検証しました) もしかしたら何か起動オプションがあるのかもしれませんが。。。。 import java.io.*; class ExecApp { public static void main(String args[]){ try { Runtime.getRuntime().exec("c:\\Program Files\\Internet Explorer\\iexplore.exe http://www.goo.ne.jp/"); } catch(Exception ex) { ex.printStackTrace(); } } } javaによる外部コマンドの呼び出しについては参考URLのFAQをご覧ください。 なお、MacOSの場合は、Runtime.getRuntime().exec(...)を使うとAppleScriptがコールされるようになっています。 AppleScriptについては、こちらのURLをご覧ください。 「AppleScript for JAVA」 http://developer.apple.com/ja/technotes/tn1162.html それから、Javaアプリケーションの起動方法ですが、 私の手元にIBMの「Robocode」(Javaプログラミングでロボットの行動プログラムを作り対戦させるゲーム)があったので、それの起動方法を確認してみましたところ、 robocode.batというバッチファイルに java -Xmx256M -jar robocode.jar と記述されていました。 -Xmx256は256色カラーモードでの実行なので無視できるとして、 JARファイル(hoge.jar)を作成して java -jar hoge.jar というバッチファイルを作ってやるのが良いのではないでしょうか。
お礼
ありがとうございます。 Macのことはほんとうに不案内ですが、教えていただいたサイトを調べてみます。 たいへん参考になりました。
補足
ありがとうございます。 MacOSを利用する場合、ローカル環境でjavaアプリを起動するとき、初めて見たかたにもわかりやすい起動方法というのは、通常どのような方法が使われているのでしょうか?
お礼
ありがとうございます。 とても参考になりました。