// onClick: voidfunc(Point, int) - 2nd parameter is button (1 to 3) // or voidfunc(Point) static void trackOneClick(final O onClick) { forwardOneClick(func(final Point p, final int button) { awt { // Let the window go away first callFOpt(onClick, p, button); callFOpt(onClick, p); } false; // don't forward click }); }