static JFrame maximizeFrame(final Component c) { JFrame f = swing(func -> JFrame { JFrame f = getFrame(c); if (f != null) f.setExtendedState(JFrame.MAXIMIZED_BOTH); ret f; }); if (!isAWTThread()) { Dimension d = maximumWindowBounds(); long start = sysNow(); repeat with sleep 1 { if (f.getWidth() >= d.getWidth()-100 && f.getHeight() >= d.getHeight()-100) break; if (sysNow() >= start+100) { warn("maximizeFrame timeout"); break; } } ret f; }