static JLabel showSuggestion_current; // action is called in new thread static JLabel showSuggestion(fS suggestionText, fO action) { hideSuggestion(); final int fontSize = 20, buttonFontSize = 15; final JLabel label = fontSize(fontSize, jCenteredMultiLineLabel(suggestionText)); final VF1 framePost = getThreadLocal(makeFrame_post); swing { makeFrame_post.set(framePost); showPackedFrameInBottomRightCorner( withLineBorder(Color.black, withMargin( centerAndSouth( label, withTopMargin(makeFirstButtonBold(fontSizeAll(buttonFontSize, jcenteredbuttons( "OK", r { hideSuggestion(label); callFInNewThread(action); }, "No", r { hideSuggestion(label) })))))))); showSuggestion_current = label; } ret label; }