!7 sclass TextArea extends DynModule { S text; transient JTextArea ta; transient ReliableSingleThread rstPersistText = rstWithDelay(1000, r persistText); bool warnOnDelete() { ret nempty(text); } JComponent visualize() { ta = typeWriterTextArea(text); main.onChange(ta, rstPersistText); ret ta; } void persistText { if (ta != null) { print("persistText " + now()); setField(text := getText(ta)); } } void unvisualize() { persistText(); ta = null; } void setText(S text) { main.setText(ta, text); } }