私は、このプログラムを使って、telnetまたはSSH(ユーザーがどの接続タイプを選択できるか)を介してリモートサーバーに接続し、出力をコンソールに表示しています(デフォルトはSystem.out
)。複数の出力文字列をJTextFieldからコンソールにコピーしようとしています
コンソールに書き込まれていた内容をJTextField
に書き出すコードを書きました。
私が次にやりたかったのは、ユーザがJTextArea
を通して自分のコマンドを入力することができるようにすることでした。そして、彼らが入力したコードがいつでも送信されるようにしました。
自分のデバッグ目的のために、正しいデータを送信していることを確認するために、最初にユーザー入力をコンソールに出力したかったのです。私はここにこの小さなコードスニペットを持って
..
// jtxt is a JTextField i defined earler in code
// and the variable J is a String.
jtxt.addKeyListener(new KeyAdapter() {
public void keyTyped(KeyEvent ke) {
if (ke.getKeyChar() == ke.VK_ENTER) {
j = jtxt.getText();
System.out.println(j);
}
}
});
私が午前唯一の問題は、私はそれをプリントアウトしwhenver私と私のJTextAreaには、テキスト「管理者」そうstring j = "admin"
があったが、これをテストしています画面には、 "admin"という言葉の百万のように印刷されます。何か案は?ところで、addKeyListenerの近くでもループはありません。
この質問は、最近質問され、ここで回答しました:[コンソールの代わりにJTextAreaのデータを表示](http://stackoverflow.com/questions/9680318/show-data-コンソールの代わりにon-a-jtextarea/9680496#9680496)。 – aioobe
デバッガはあなたの親友です! printlnの上にブレークポイントを置き、何が起こっているかを確認してください。一つのことは確かですが、コードは常に(あるいは最も普通に)正しいです。 –
1)[アクションリスナーを追加](http://docs.oracle.com/javase/7/docs/api/javax/swing/JTextField.html#addActionListener%28java.awt.event.ActionListener%29)このための「KeyListener」 2)あなたは確かですか?* "万" *は実際には5ではありませんか? 3)すぐにより良い助けを得るために、[SSCCE](http://sscce.org/)を投稿してください。 –