とかに載っているのは,標準出力をテキストエリアに出力してしまうので
コンソールの出力は無くなってしまう.
テキストエリアとコンソールの両方に出力したい時は以下
public class JTextAreaOutputStream extends OutputStream {
JTextArea ta;
PrintStream system;
public JTextAreaOutputStream(PrintStream p, JTextArea t) {
super();
ta = t;
system=p;
}
public void write(int i) {
char[] chars = new char[1];
chars[0] = (char) i;
String s = new String(chars);
ta.append(s);
system.write(i);
}
}
を作っておいて,どこかにpublic JTextAreaOutputStream(PrintStream p, JTextArea t) {
super();
ta = t;
system=p;
}
public void write(int i) {
char[] chars = new char[1];
chars[0] = (char) i;
String s = new String(chars);
ta.append(s);
system.write(i);
}
}
// set up streams
System.setOut(new PrintStream(new JTextAreaOutputStream(System.out,outArea)));
System.setErr(new PrintStream(new JTextAreaOutputStream(System.out,outArea)));
を書けばよい.
これでコンソールとテキストエリアに標準出力される.
0 件のコメント:
コメントを投稿