2011-07-13 9 views
1

私は、人々が中国語を学ぶのを助けるJavaアプリケーションを作成しています。私はすでにJava GUIを作成していますが、新しいウィンドウで外部アプリケーションを起動するボタンを作成する方法を検討するのには苦労しています。LinuxのJava GUIから外部アプリケーションを起動するにはどうすればよいですか?

プロセス、デスクトップ、ランタイムについてさまざまなチュートリアルを参照しましたが、すべてコンソール上でデータを出力するように見えますが、このケースにどのように適用するのか分かりません。

ご協力いただければ幸いです。ありがとう!

EDIT

だから私は私のクラスにランタイムコードを組み込まれていると私は私のファイルの内容を一覧表示するためにそれを持っているが、それは「使用してアプリケーションを起動することができません/ホーム/ケイト/デスクトップ/ PTAMM ./PTAMM "または" ./PTAMM/home/kate/Desktop/PTAMM "または" ./ home/kate/Desktop/PTAMM PTAMM "(最後の2つは絶望的でした)助言がありますか?ありがとう!

答えて

5

ここでは、

Runtime.getRuntime().exec("command to launch executable"); 

を行く私は、プロセス、デスクトップおよび実行時にさまざまなチュートリアルを見てきたが、それらはすべてに思える

+0

@Kateあなたが必要とするのは、コマンドライン/コンソールから外部アプリケーションを起動するために通常使用していた文字列に置き換えるだけです。 – dm76

+0

ありがとうございました! ./PTAMMを使用してアプリケーションを実行します。したがって、このコマンドは動作しますか?home/kate/Desktop/PTAMM ./PTAMM?私は今それを試してみるだろうが、私はまだそうすることができる段階ではない。 – Kate

+0

はい、うまくいくはずです。 –

0

を参照してください。コンソール上でデータを出力することを扱う、

いいえ、間違っています。 Desktop.open(File) ..

は、ファイルを開くために関連するアプリケーションを起動します。

(重点鉱山)

Desktop.open(new File("spreadsheet.xls"))はOO CalcののMS Excelをポップかもしれないが、そうDesktop.open(new File("word.doc"))は、MS WordやOpen Officeのライターを開くことがあります。

Desktopクラスでプレイするには、File Browser GUIスレッドのコードを試してください。


Runtimeを使用する場合は、私はお勧め:

  • 読む&がすべてWhen Runtime.exec() won'tに示したアドバイスを実施します。
  • ProcessBuilderを使用してProcessを構築します。 ProcessBuilderには、出力ストリームをマージして簡単に「消費」するための便利なメソッドがあります。

Desktopを使用する方が簡単なオプションであることが判明しました。 Processを使用することに伴う多くのトラップ&落とし穴があります。;)

+0

あなたの助けていただきありがとうございます。私はDesktop.openを見上げましたが、私はそれがファイルを開いていることがわかりました。私はやりたくないファイルを開き、アプリケーションを起動したい。私はもっ​​と簡単なオプションを使うのが大好きだと思うが、ランタイムはこれにもっと適していると思う。 – Kate

+0

どのようにして(ソース文書なしで)プログラムを開くと、人々は中国語を覚えるのに役立ちますか?どのような特定のプログラムに興味があり、なぜですか? –

+0

PTAMMと呼ばれる拡張現実感プログラムです。実際の人生の上に中国語を重ねるために使っています。 – Kate

関連する問題