!7 sclass WatchFieldOfModule extends DynSCP { S moduleID, field; transient O value; JComponent visualize2() { if (field == null || moduleID == null) ret jcenteredlabel("Need parameters"); ret jSection(field + " of " + moduleID, jlabel(str(value))); } void start { ownTimer(doEveryAndNow(2000, r updateMe)); } void update { O o; try { o = getOpt(dm_getModule(moduleID), field); } catch e { o = exceptionToStringShort(e); } if (o != value) { value = o; revisualize2(); } } }