1

これを検索する方法がわかりませんでした。スイングアプリケーションがあります。ユーザーがコマンドプロンプトを開いSystem.out.println("MY_OUTPUT");て、アプリケーションを通過するときに出力()を表示できるようにしたいと思います。ただし、ほとんどの場合、これは必要ないため、アプリケーションの起動後に有効にできるオプションになります。これを行う方法はありますか?基本的に、私はいつでもコマンドプロンプトまたはプログラムに関連付けられたターミナルを自由に開く方法を探しています。助けてくれてありがとう。

注1:これは、ユーザーからの入力の受信とは関係ありません。ユーザーへの出力がすべてです。

注2:テキスト領域のある別のスイングウィンドウでこれを行うことができる(そしておそらくそうすべきである)ことを認識していますが、私が持っているものはすべてそのままSystem.out.println();になり、将来のプロジェクトでも同じようなものを使用したいと思います、コマンドプロンプトを使用してこれを実行できるようにしたいと思います。それに、そもそもそれが私の質問です。ありがとう

4

3 に答える 3

1

この要件は、System.println()ステートメントを使用するだけで、アプリで単純なログ戦略を使用することから来ていると思います。System.println()メソッド呼び出しは、ある種のロガー パターン クラスでラップする必要があります。Log メソッドを使用して Logger インターフェイスを作成できます。ConsoleLogger impl はコンソールに書き込むだけで、テスト/デバッグに役立ちます。

次に、実際のユーザーには、いくつかのオプションがあります。アプリの出力を確認したい場合は、FileLogger を使用してログ ファイルを読み取らせることができます。または、何らかの GUI ウィンドウにログを記録するある種の CustomTextWindowLogger を作成することも、GUI ウィンドウがデータを表示できるファイルを作成することもできます。

いずれにせよ、アプリケーションがステートメントをグラフィカル コンポーネントにリダイレクトするのを見たことはありませんSystem.println()。これは、データを標準出力ストリームに送信するだけだからです。これらの考え方に沿って、System.out出力ストリームを GUI ウィンドウが表示できる別のストリームに変更することもできると思います。これはすぐに実装するのは簡単ですが、後で変更するのは難しくなります。Logger インターフェースを使用すると、出力をユーザーに提供する方法について簡単に考えを変えることができます。

于 2012-04-18T19:32:50.737 に答える
1

正直なところ、GUI 環境では、ダイアログの代わりにコマンドラインを介してユーザーからの入力を受け入れるのは奇妙だと思いますが (GUI を表示することを意味します) Runtime、コマンドプロンプトを実行するために a を使用することもできます。Javaを使用したcmdはこちら

于 2012-04-18T19:00:49.877 に答える
0

テキストフィールド/エリア (または Swing にあるもの) をポップアップして、そこにメッセージを書き込んでみませんか?

于 2012-04-18T18:59:34.260 に答える