Ok, vil prøve det. Skriver igen vis jeg får nogle problemer.
.:Edit:.
Hvad gør klassen PrintStream ved de ting man skriver til den. Er den bare lavet så den skriver til konsollen?
edit igen:
Jeg kan se at en PrintStream kan laves så den udskriver til en fil, eller så den dekorere en anden OutputStream. Hvordan er default output streamen i System.out implementeret?
Sandsynligvis noget native kode, så det skal du nok ikke rode med. Følgende virker men kunne skrives kønnere:
import java.io.*;
import javax.swing.*;
public class Test extends JTextArea {
public Test() {
}
public OutputStream getOutputStream() {
return new MyOutputStream();
}
private class MyOutputStream extends OutputStream {
public void write(byte bytes[], int off, int len) {
try {
String str = new String(bytes, off, len, "utf-8");
append(str);
} catch (UnsupportedEncodingException uee) {
}
}
public void write(int i) {
}
}
private static class Frame extends JFrame {
public Frame() {
Test t = new Test();
System.setOut(new PrintStream(t.getOutputStream()));
getContentPane().add(t);
setSize(400, 400);
setVisible(true);
}
}
public static void main(String args[]) {
Frame f = new Frame();
for (int i = 1; i <= 10; i++) {
System.out.println("Hej verden for " + i + ". gang");
}
}
}
Indlæg senest redigeret d. 26.01.2010 13:39 af Bruger #2695