私はJavaの初心者なので、これが答えやすい質問になることを願っています。
コンソール/テキストベースのゲームを改造してGUIも追加しています。ゲームは通常、パーサーのスキャナーでユーザー入力をスキャンします。Beanshell 2 から JConsole を追加し、tukushans メソッドを使用してそこに出力をリダイレクトしましたhttps://stackoverflow.com/a/1324525/1236210
ただし、ユーザーが入力したコマンドをこのコンソールからパーサーのスキャナーに取得する方法を学ぶ必要があります。これに関連するパーサーのコードは次のとおりです。
import java.util.Scanner;
public Parser()
{
reader = new Scanner(System.in);
}
...
String inputLine; // will hold the full input line
String word1 = null;
String word2 = null;
System.out.print("> "); // print prompt
inputLine = reader.nextLine();
// Find up to two words on the line.
Scanner tokenizer = new Scanner(inputLine);
if(tokenizer.hasNext()) {
word1 = tokenizer.next(); // get first word
if(tokenizer.hasNext()) {
word2 = tokenizer.next(); // get second word
// note: we just ignore the rest of the input line.
}
}
return etc.
私の主な質問は、一般的にどのように偽の入力ストリームを作成し、ここでリーダーのようなスキャナーにフィードするのですか?
あなたがそれに答えたり、これに関する良いドキュメントに私をリダイレクトしたりできるなら、私はとても幸せです ^_^ その知識で、このコンソールを私のスキャナーに接続する方法を自分で見つけられることを願っています. ただし、JConsole でこれを行う方法にも回答する場合、それは単に素晴らしいことです。そうする場合は、Java にも投稿する必要があります - How to read user input from BeanShell's JConsole?