1

Javaアプリケーション用のコマンドラインインターフェイスを実装したいと思います。コマンドラインプログラムが別のJavaGUIプログラムの状態に影響を与えるようにしたい場合を除いて、これを行うのはそれほど難しくありません。たとえば、次のように入力できます。

java CliMain arg1 arg2

また、実行中の別のGUIインスタンスが適切なアクションを実行します。

このようなものを実装する最も簡単な方法は何ですか?

4

5 に答える 5

2

GUIアプリケーションに(localhostインターフェイス上の)TCPポートでリッスンさせることができ、CLIアプリケーションがそれに接続します。

これを行う1つの方法は、RESToverHTTPを使用することです。

于 2008-10-30T01:42:18.480 に答える
0

もう1つの方法は、JMXを使用することです。これは「無料」で多くのものを提供し(単純な場合は、Beanを実装して登録するだけです-非常に単純です)、このタスクに特に適しています。

于 2008-10-30T01:45:12.577 に答える
0

最も簡単な方法は、GUI が TCP ポートでコマンドをリッスンすることです。コマンド ラインがコマンドを送信し、GUI がそれらを解釈します。

名前付きパイプでもできるかもしれませんが、それをJavaでどのように実装するのかわかりません。

于 2008-10-30T06:00:39.127 に答える
0

GUIアプリケーション(エディタなど)をリッスンさせることができます

1) 特定のタイプのクリップボード イベント
が関心のあるタイプの場合、クリップボードの内容を取得します。

2)特定のポート
のサーバーソケットは、サーバーソケットをリッスンします。CLI プログラムが起動すると、既知のポートでサーバー ソケットに接続し、情報を送信して終了します。

3)
CLI プログラムからエンキューし、GUI プログラムからデキューできるキュー。

さらに調査したい場合は、emacs などの多くのプロのエディターが同じメカニズムを使用しています。http://www.emacswiki.org/emacs/EmacsClient

于 2008-10-30T02:06:15.340 に答える
0

アプリケーションはRMI経由で制御できます。アプリケーションはコントロール インターフェイスを実装し、そのサービスを localhost に登録します。コマンド ライン アプリケーションは rmi プロキシを取得し、必要なコントロール メソッドを呼び出します...

最初は難しそうに見えますが、やってみると簡単にわかると思います。また、 SSLによる暗号化もサポートしています。そのため、セキュリティ関連のデータがオンラインにあれば、データ交換を保護できます。

于 2008-10-30T05:42:37.387 に答える