import java.awt.Frame; import java.awt.TextArea; public class PrintFrame extends Frame { TextArea display; public PrintFrame(TextArea d) { super("PrintFrame"); display = d; setResizable(true); //setBounds(30, 30, 100, 100); reshape(350, 30, 100, 100); } String threadInfo(Thread t) { try { return "thread=" + t.getName() + ", " + "thread group=" + t.getThreadGroup().getName(); } catch (SecurityException e) { return "thread=" + t.getName() + ", " + "!!! EXCEPTION for getThreadGroup"; } } void addItem(String newWord) { System.out.println(newWord); display.appendText(newWord + "\n"); display.repaint(); } public boolean handleEvent(java.awt.Event event) { addItem("handleEvent: " + threadInfo(Thread.currentThread())); return super.handleEvent(event); } public void layout() { addItem("layout: " + threadInfo(Thread.currentThread())); super.layout(); } }