srecord noeq G22RunSingleAnalyzerPanel(G22Utils g22utils, BufferedImage image, G22Recognizer analyzer) is Swingable { transient Q q = startQ(); // starting queues is free now transient SingleComponentPanel scp; visual { if (analyzer == null) ret jcenteredlabel("Nothing here"); if (image == null) ret jcenteredlabel("Not seeing anything"); var compiled = analyzer.compileForAutoRun(); if (compiled == null) ret jcenteredlabel(analyzer + " is not cleared for auto-run"); if (compiled.compileError != null) ret jErrorView(compiled.compileError); scp = singleComponentPanel(jcenteredlabel("Running analyzer...")); q.add(-> { try { var result = compiled.get(image); scp.set(jcenteredlabel(shorten(g22utils.stringify(result!)))); } catch e { scp.set(jErrorView(e)); } }); ret scp; } }