こんにちは Javaコンソールが返すものをJPanelで描画することはできますか? あなたにはチュートリアルがありますか? ありがとう swJava Console JPanel
答えて
最初にコンソールから読みます。これを行うには、System.setOut()を使用します。 ByteOutputStreamを使用し、そこに書き込んで、それらから読み込みます。あなたはあなたのプログラムがシステムに出力するものを得るでしょう。 TextAreaまたはJScrollPaneを使用してテキストを表示します。
私はこれを見つけた私は覚えていないことができますが、私はTextAreaOutputStreamを呼び出すクラスを使用してのJPanelで開催されたJTextAreaのに出力ストリームを出力している:
import java.io.IOException;
import java.io.OutputStream;
import javax.swing.JTextArea;
import javax.swing.SwingUtilities;
public class TextAreaOutputStream extends OutputStream {
private final JTextArea textArea;
private final StringBuilder sb = new StringBuilder();
private String title;
public TextAreaOutputStream(final JTextArea textArea, String title) {
this.textArea = textArea;
this.title = title;
sb.append(title + "> ");
}
@Override
public void flush() {
}
@Override
public void close() {
}
@Override
public void write(int b) throws IOException {
if (b == '\r')
return;
if (b == '\n') {
final String text = sb.toString() + "\n";
SwingUtilities.invokeLater(new Runnable() {
public void run() {
textArea.append(text);
}
});
sb.setLength(0);
sb.append(title).append("> ");
}
sb.append((char) b);
}
}
私はその後、再直接標準出力をアレックスが上の彼の答えで言及しているように、このオブジェクトにストリームします。
'sb.append(title).append("> ");'おそらくもっと効率的です。 –
@DavidConrad:実際には、String Concatを避けるためです。ありがとう、答えは編集されました。 –
FilterOutputStreamのサブクラスを作成して、すべてをJTextAreaにエコーします。
class Echo extends FilterOutputStream {
private final JTextArea text;
public Echo(OutputStream out, JTextArea text) {
super(out);
if (text == null) throw new IllegalArgumentException("null text");
this.text = text;
}
@Override
public void write(int b) throws IOException {
super.write(b);
text.append(Character.toString((char) b));
// scroll to end?
}
// overwrite the other write methods for better performance
}
と標準出力に置き換えます
JTextArea text = new JTextArea();
System.setOut(new PrintStream(new Echo(System.out, text)));
Message Consoleはあなたが興味かもしれないいくつかのより多くのオプションを提供します。
- 1. Java - Console on an Applet
- 2. java do while while console input with console
- 3. JPanelのJavaカスタムドラッグアンドドロップ
- 4. Java ScrollPane/JPanel
- 5. Java Swing JPanelスライドアップアニメーション?
- 6. Java JPanel animation
- 7. Java JInternalFrame to JPanel
- 8. Java、swing、JFrame、JPanel
- 9. JavaのJPanel問題
- 10. のJava JPanelのは
- 11. のjava、別のJPanel
- 12. JPanelとJavaのレイアウトマネージャ
- 13. ズームJPanel in Java Swing
- 14. Java JPanelとJLabelの
- 15. マウスイベントe(Jpanel)Javaヘルプ
- 16. Java Console Logger例外処理
- 17. Java EEアプリケーションの `rails console`
- 18. JPanelでクリックしたJavaコンポーネント -
- 19. JPanelのJava Swingでのパネル
- 20. CardLayout上のJPanel Swing Java
- 21. jpanelをスクロールするjava-how?
- 22. getContentPane()とJPanelの違い。 Java
- 23. スクロール可能なJPanelのJava
- 24. JPanelのJava設定サイズ
- 25. は、Java JPanelの配列
- 26. Java Swingのrepaint()、addvalidind()の後のrevalidate()の問題Jpanel to Jpanel
- 27. jpanelをjavaのjpanelに追加する方法
- 28. Java I/OのInputStreamReaderまたはConsole
- 29. BorderLayout - JPanelのJPanel
- 30. JPanelにJava 2Dグラフィックスコンテンツを表示
フォーラムのSwingエキスパートを引き付けるために、質問のタグに「Swing」を追加することをお勧めします。 :) –