TextArea への印刷ストリームのリダイレクト
Java では、コンソールへの情報の出力は通常、System.out ストリームを使用して実行されます。ただし、GUI アプリケーションの場合、この出力をテキスト領域などの指定されたコンポーネントにリダイレクトすることが望ましいことがよくあります。
アプローチ
これを実現するには、次のことができます。 Java の印刷ストリーム リダイレクト機能を活用します。方法は次のとおりです:
TextArea オブジェクトの作成:
カスタム PrintStream の作成:
Redirect System.out:
サンプル コード
次のサンプル コードは、このアプローチを示しています (既存の setOutputStream() メソッド):
<code class="java">private void setOutputStream() { // Create a TextArea object TextArea textArea = new TextArea(); // Create a custom PrintStream to redirect output to the TextArea aPrintStream = new PrintStream(new ByteArrayOutputStream()) { @Override public void print(String s) { // Append the output to the TextArea textArea.append(s); } }; // Redirect System.out to the custom PrintStream System.setOut(aPrintStream); // Add the TextArea to a TabbedPane on the GUI jTabbedPane1.add("Main", textArea); }</code>
この手法を実装することにより、後続のすべての System.out ステートメントは指定された TextArea に出力を出力するようになります。
以上がSystem.out 出力を Java の TextArea にリダイレクトする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。