2011-08-05 4 views
1

新しいDesktopクラス(ブラウズ(uri)メソッドに使用したい)には、サポートされていることを確認するためのチェックが含まれています。複数のオペレーティングシステム用にアプリケーションを配布している場合、サポートされていないことが予想され、代替方法としてthis "Bare Bones Browser Launch"のようなコードを貼り付けるか、それとも非常に稀でしょうか?私が問題を予期している特定のOSJava 6のDesktop.browse()は、どのシステムでもサポートされない可能性がありますか?

(Iは、Mac/Winの/ Solarisの/ Linux用に配布していますが、それらについて何かを知っていれば任意の例外のOSについてはお答えすること自由に感じています。)

答えて

5

防御的にプログラムする必要があります。 How to Integrate with the Desktop Classから

はデスクトップ APIが利用可能かどうかを判断するためにisDesktopSupported()メソッドを使用します。 SolarisオペレーティングシステムおよびLinux プラットフォームでは、このAPIはGnomeライブラリに依存しています。これらのライブラリ が使用できない場合、このメソッドはfalseを

(強調鉱山)

を返します。
2

私はポイントが逆だと思う、Javaの何OSをサポートする必要がありますか?彼らは、JVM実装者がfalseを返し、サポートされていないと言って、100%Javaに準拠するようにしてOSを提供しています。あなた自身の評価に任せてください)。

BrowserLauncherのようなBare Bones Browser Launchやもっと複雑なライブラリのようなテクニックは、一般的なJava標準用に作られた汎用コードよりも限られたOSやブラウザでしか動作しません。

具体的にターゲットを絞ったOSがDesktop.openURLをサポートしていない場合は、Bare Bonesランチャーのようなテクニックを使用しますが、そのOSで動作するように書く必要があります。その技術が特定のOSとそのO​​S上の特定のJVMで動作すると考える理由は、Java 6より前にブラウザを起動する必要があったことを表しています。

関連する問題