static new WeakHashMap makeFrame_myFrames; 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 (JFrame) swing(func { if (getFrame(content) != null) ret setFrameTitle((Component) content, title); final JFrame frame = new JFrame(title); makeFrame_myFrames.put(frame, Bool.TRUE); if (content != null) frame.getContentPane().add(wrap(content)); frame.setBounds(300, 100, 500, 400); if (showIt) frame.setVisible(true); //callOpt(content, "requestFocus"); //exitOnFrameClose(frame); // standard right-click behavior on titles if (isSubstanceLAF()) titlePopupMenu(frame, voidfunc(JPopupMenu menu) { bool alwaysOnTop = frame.isAlwaysOnTop(); menu.add(jmenuItem("Restart Program", f restart)); menu.add(jmenuItem("Duplicate Program", f duplicateThisProgram)); menu.add(jmenuItem("Show Console", f showConsole)); menu.add(jCheckBoxMenuItem("Always On Top", alwaysOnTop, r { toggleAlwaysOnTop(frame) })); menu.add(jMenuItem("Shoot Window", r { shootWindowGUI_external(frame, 500) })); }); ret frame; }); }