我目前有一个程序,以各种方式打印文本行,如'System.out.println()'语句和循环打印数组中的所有元素到屏幕.
我现在在一个单独的类中为这个程序添加一个GUI.我的问题是我想将打印到eclipse控制台的所有内容打印到我的GUI中的文本框中.这是可能的,如果是这样,我将如何做到这一点.
小智 6
如果您确实想这样做,请将System OutputStream设置为PipedOutputStream并将其连接到您读取的PipedInputStream,以便向组件添加文本,例如:
PipedOutputStream pOut = new PipedOutputStream();
System.setOut(new PrintStream(pOut));
PipedInputStream pIn = new PipedInputStream(pOut);
BufferedReader reader = new BufferedReader(new InputStreamReader(pIn));
Run Code Online (Sandbox Code Playgroud)
然后,您可以从阅读器中读取并将其写入文本组件,例如:
while(appRunning) {
try {
String line = reader.readLine();
if(line != null) {
// Write line to component
}
} catch (IOException ex) {
// Handle ex
}
}
Run Code Online (Sandbox Code Playgroud)
我建议您不要将System.out用于您的应用程序输出,它可以被任何东西使用(例如您决定使用的任何第三方库).我会使用某种类型的日志记录(java.util.logging,Log4J等)和适当的appender来写入您的组件.
| 归档时间: |
|
| 查看次数: |
11329 次 |
| 最近记录: |