2016-05-01 9 views
0

ユーザーがJlabelをクリックしたときに特定のファイルを開くJavaプログラムを開発しました。 Clickイベントはコンピュータでうまくいきましたが、配布可能なJarにパッケージ化して別のコンピュータにインストールすると、プログラムは完全にインストールされますが、Jlabelをクリックするとリンクされたビデオは開かれません。以下は、Netbeans でJlabelとマウスクリックイベントを追加した後に使用したコードです。 。 { 。 。 。試してください 。 。 { 。 。 。ランタイム。 getRuntime()。 exec( "rundll32 url。dll、FileProtocolHandler" + "C:\ users \ abj \ netbeans \ lessons \ src \ vidz \ vid1.mp4"); 。 。 } catch(例外e) 。 。 {JOptionPane。 ShowMessageDailog(null、 "エラー");Jlabel Mouse Clickedイベントは、自分のコンピュータのリンクビデオファイルのみを開きます。

上記のコードでは、プログラムは完全に自分のコンピュータで動作しますが、パッケージを配布して配布可能にし、別のコンピュータにインストールすると、ファイルを開かないとエラーが表示されません。

この問題を解決するにはどうすればよいですか。私はあなたが与えることができるすべての助けが必要です。

ありがとうゴディ。

答えて

0

https://docs.oracle.com/javase/7/docs/api/java/lang/Runtime.html#exec%28java.lang.String%29

幹部

...

例外: SecurityException - セキュリティマネージャが存在する場合に、てcheckExec メソッドがサブプロセスの作成を許可しない

IOException - 入出力エラーが発生した場合

場合NullPointerException - コマンドがnullの場合

例外:IllegalArgumentException - コマンドだから

空の場合は指定した文字列は、あなたがエラーを取得しない(OS上で)失敗したという理由だけで。

+0

あなたの答えは問題を解決しませんでした...どのように投稿したソフトウェアは、私の脇にある他のコンピュータで正常に動作するようになりますか? – Goddy

+0

プロセスの出力を取得し、期待どおりにチェックしてください。http://stackoverflow.com/questions/5711084/java-runtime-getruntime-getting-output-from-executing-a-command-line-program do not useハードコーディングされたパスは良いかもしれません – user3252497

関連する問題