static Map makeFrame_myFrames = weakHashMap(); static S makeFrame_defaultIcon; sbool makeFrame_hideConsole; static JFrame makeFrame() { ret makeFrame((Component) null); } static JFrame makeFrame(O content) { ret makeFrame(programTitle(), content); } static JFrame makeFrame(S title) { ret makeFrame(title, null); } static JFrame makeFrame(S title, O content) { ret makeFrame(title, content, true); } static JFrame makeFrame(fS title, fO content, final bool showIt) { ret swing(func -> JFrame { if (getFrame(content) != null) ret getFrame(setFrameTitle((Component) content, title)); final JFrame frame = new JFrame(title); if (makeFrame_defaultIcon != null) setFrameIconLater(frame, makeFrame_defaultIcon); _initFrame(frame); JComponent wrapped = wrap(content); if (wrapped != null) frame.getContentPane().add(wrapped); frame.setBounds(defaultNewFrameBounds()); if (showIt) frame.setVisible(true); //callOpt(content, "requestFocus"); //exitOnFrameClose(frame); if (showIt && makeFrame_hideConsole) { hideConsole(); makeFrame_hideConsole = false; } ret frame; }); }