!7 sclass ShowPrintLogOfModule extends DynModule { new DynModuleRef mate; transient StringBuffer log; transient JTextArea ta; void start { ownTimer(doEveryAndNow(1000, r updateMe)); } JComponent visualize() { if (log == null) null; ret jSection(str(mate), ta = typeWriterTextArea(str(log))); } void update { if (setField(mate := DynModuleRef(dm_closestModule(this)))) { O m = mate!; //print(">> " + getClassName(m)); log = (StringBuffer) getOpt(getMainClass(m), 'local_log); revisualize(); } if (ta != null && log != null) setText(ta, str(log)); } }