Mengubah hala Output ke TextArea dalam GUI
Dalam antara muka pengguna grafik (GUI), adalah perkara biasa untuk memaparkan output yang biasanya dicetak ke konsol di kawasan yang ditetapkan dalam antara muka. Ini memberikan pengalaman yang lebih mesra pengguna dengan menyimpan semua output dalam tetingkap aplikasi.
Untuk mencapai ini, anda perlu mengubah hala strim cetakan program anda kepada strim yang boleh anda kawal dalam GUI. Satu pendekatan melibatkan mencipta strim output tersuai yang menangkap output dan memaparkannya dalam TextArea yang dikehendaki.
Contoh Pelaksanaan
Berikut ialah contoh cara melaksanakan pendekatan ini:
<code class="java">public class GUIOutputRedirection { private TextArea textArea; private PrintStream originalPrintStream; public GUIOutputRedirection(TextArea textArea) { this.textArea = textArea; originalPrintStream = System.out; } public void redirectOutput() { PrintStream stream = new PrintStream(new OutputStream() { @Override public void write(byte[] b, int off, int len) { String text = new String(b, off, len); textArea.append(text); originalPrintStream.write(b, off, len); } @Override public void write(byte[] b) { write(b, 0, b.length); } @Override public void write(int b) { byte[] b1 = new byte[1]; b1[0] = (byte) b; write(b1, 0, 1); } }); System.setOut(stream); } // ... }</code>
Dalam contoh ini, PrintStream baharu ditakrifkan yang membungkus TextArea dan strim cetakan asal. Apabila anda menulis ke strim baharu, output dihantar ke TextArea dan konsol.
Untuk menggunakan pelaksanaan ini, buat contoh kelas GUIOutputRedirection, nyatakan TextArea sasaran dan panggil redirectOutput() kaedah:
<code class="java">GUIOutputRedirection redirection = new GUIOutputRedirection(textArea); redirection.redirectOutput();</code>
Dengan persediaan ini disediakan, sebarang output yang biasanya pergi ke konsol kini akan dipaparkan dalam TextArea yang ditetapkan dalam GUI.
Atas ialah kandungan terperinci Bagaimana untuk Mengalihkan Output Konsol ke TextArea dalam GUI?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!