2012-04-20 6 views
0

私は驚くばかりですが、通常はJavaコンソールウィンドウに項目を表示するプログラムがあります。私は、このプログラムをユーザが対話できるウィンドウにしたいと思っています。私がダイアログボックスとパネルに頼らない理由は、このプログラムがコンソールウィンドウに複数のプリントを必要とするためです。従来のダイアログボックスでは、ボックスにすでに印刷されているデータを継続的に更新または合成することはありません。私は、Javaコンソールウィンドウを模倣したプログラムを作成することでこれを行う別の方法があることを認識しています。私がnoobだからこそ、このサイトのすべてのjavaコンソールリダイレクトの質問と回答が私の頭を吹き飛ばしています。誰でも助けてくれますか?Javaパネルまたはダイアログボックスでの継続的な更新

+0

http://docs.oracle.com/javase/tutorial/uiswing/index.html – user1329572

+0

*「誰でもお手伝いできますか?」*あなたの(具体的な)質問は何ですか? –

答えて

1

短い答えは、テキストボックスの内容を更新するたびに、setText関数をもう一度呼び出すことです。コンテンツには「追加」機能はありません。毎回コンテンツ全体を指定する必要があります。メッセージがスクロールし続けるコンソールウィンドウを模倣するものを望むなら、最も簡単なことは、内容全体をStringBuilderに保持することです。新しいテキストをStringBuilderに追加するたびにsetText(myStringBuilder.toString)を呼び出します。

mybox.setText(mybox.getText()+ "新しい内容")を書くことができます。それは少し非効率的ですが、多分大したことではありません。

あなたは何をしているのか正確にはわかりませんが、コンソール出力をテキストボックスにリダイレクトしようとすると、それは価値があると思われるように聞こえます。あなたのデータをテキストボックスに入れてください。他の場所に書き込まないで、それを元に戻して、どこに置いてもかまいません。私はあなたが何千ものコードをコンソールに書いていて、それをテキストボックスにしたいと思っていれば、そのコードをすべて変更する必要がないかもしれません。しかし、コンソールアプリケーションの構造は、GUIアプリケーションの構造と大きく異なるため、出力文を変更することは、おそらく再処理する必要があるものの中では最小限になります。

関連する問題