// If disabled, do nothing.
if (isDisabled())
return;
RequestContext context = cycle.getRequestContext();
// Image clicks get submitted as two request parameters:
// foo.x and foo.y
String parameterName = name + ".x";
String value = context.getParameter(parameterName);
if (value == null)
return;
// The point parameter is not really used, unless the
// ImageButton is used for its original purpose (as a kind
// of image map). In modern usage, we only care about
// whether the user clicked on the image (and thus submitted
// the form), not where in the image the user actually clicked.
IBinding pointBinding = getBinding("point");
if (pointBinding != null)
{
int x = Integer.parseInt(value);
parameterName = name + ".y";
value = context.getParameter(parameterName);
int y = Integer.parseInt(value);
pointBinding.setObject(new Point(x, y));
}