1

この単純なコードは、処理中にうまくいきませんでした:

try {
  BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
  String str = "";
  while (str != null) {
    System.out.print("> prompt ");
    str = in.readLine();
    println(str);
  }
} 
catch (IOException e) {
}

おそらく、Eclipse とは異なり、コンソール出力ボックスを入力に使用できないためです。簡単な回避策はありますか、それとも標準でダイアログ ボックス (または keyPressed 処理) のようなことをする必要がありますか?

4

2 に答える 2

1

Processing IDE を使用している場合、Processing はこの動作をネイティブにサポートしていません。スケッチをエクスポートして Java ファイルを編集するか、Eclipse、Proclipsing、core.jarなどを使用する場合、他の Java アプリケーションと同様に System.in にアクセスできますが、これは処理の目的に反することになります。 t は通常、コマンド ラインから実行され、本質的にグラフィックです。

ベスト プラクティスは、キーを押した方法でキーストロークをキャプチャすることです。例えば:

String str = "";

void keyPressed() {
    str += key;
}

次に、 draw() ループ/メソッドで、 str のテキスト入力を処理し、必要に応じてクリアできます。

より洗練された、より優れた UX が必要な場合は、ControlP5 のTextField や TextArea などを使用することをお勧めします。

于 2012-10-24T18:52:51.267 に答える