Javaのプロセスの入力、エラー、および出力ストリームへのアクセスを提供するクロスプラットフォームソリューションを作成したいと考えています。Javaのコマンドラインインターフェイス
基本的に、私が作成したいのは、プロセスの出力とエラーストリームを表示し、入力ストリームにデータを提供できるテキスト領域です。言い換えれば、あなたがアプリケーションを実行したときにEclipseがConsoleで既に提供しているもの。
今、この基本的な実装は簡単で、すべてのキー入力を入力ストリームに送信するだけです。しかしもちろん、私はペースト、バックスペース、矢印キーの操作に問題がありました。ctrl-Cなどを処理しました。
プロセスの入力ストリームにデータを送信する前に待つ必要があるようです。しかし、何を待つ?入力したすべてのテキストをそれぞれのリターンキーで送信する必要がありますか?または間隔の後に? については、ctrl-C、ctrl-Xなどとなります。矢印キーの動きを入力ストリームに送りますか?
貼り付けやバックスペースなどでどんな問題がありましたか?私はキーイベントをリダイレクトしているコンポーネントもすべてのイベントを処理する必要があると思います。だからあなたが望むように起こっていないことがあるなら、あなたが正しいコンポーネントを使用しているかどうかを調べるでしょう。 –
誰かが何かをペーストすると、コンポーネントはCtrl + Vイベントを受け取りますが、それ以上のものがテキストエリアに追加されます。これも、私は検出することができますが、私はいつそれを入力ストリームに送りますか?直ちに?しかし、誰かが何かをペーストして、何度かバックスペースを押してから戻るとどうなるでしょうか? –
バッファリングされたストリームを使用していますか?私はバッファリングされたストリームを使用し、各戻りキーですぐに送信します。バッファリングされた状態でバックスペースと矢印キーを処理しなければなりません。すべて – hauntsaninja