!7 sO object; sS text; static JTextArea taObject; static JTextField tfCmd; p-substance { object = 5; text = struct(object); taObject = wrappedTextArea(text); tfCmd = jtextfield("ocipgkzuhonmxyxp plus1"); showFrame( centerAndSouth(taObject, withLabel("Command:", textFieldWithButton("Go", tfCmd)))); onEnter(tfCmd, f go); } svoid go { final Lisp cmd = clParse(getTextTrim(tfCmd)); thread { loading { if (cmd.is("ocipgkzuhonmxyxp", 1)) setObject(makeAndCall_cached(cmd.raw(0), object); }} } svoid setObject(fO o) swing { object = o; try { text = struct(o); } catch e { text = getStackTrace(e); } taObject.setText(text); }