a very simple wicket image with javascript behavior. JsImage is nice to use as a link or a button.
JsImage

import org.apache.commons.lang.StringUtils;
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.WicketRuntimeException;
import org.apache.wicket.behavior.AttributeAppender;import org.apache.wicket.markup.html.image.Image;
import org.apache.wicket.model.Model;public class JsImage extends Image {

private String baseImage;
private String onMouseOverImage;
private String onMouseOutImage;
private String onMouseUpImage;
private String onMouseDownImage;

public JsImage(String id, String baseImage) {
super(id);
this.baseImage = baseImage;

if(StringUtils.isNotBlank(baseImage))
add(new AttributeModifier(“src”, true, new Model(baseImage)));
else
throw new WicketRuntimeException(“baseImage can not be null or empty”);
}

public String getBaseImage() {
return baseImage;
}

public void setBaseImage(String baseImage) {
this.baseImage = baseImage;
}

public String getOnMouseOverImage() {
return onMouseOverImage;
}

public void setOnMouseOverImage(String onMouseOverImage) {
this.onMouseOverImage = onMouseOverImage;
if(StringUtils.isNotBlank(onMouseOverImage))
EztImage.this.add(new AttributeAppender(“onmouseover”, new Model(“this.src = ‘” + onMouseOverImage + “‘;”), “;”));
}

public String getOnMouseOutImage() {
return onMouseOutImage;
}

public void setOnMouseOutImage(String onMouseOutImage) {
this.onMouseOutImage = onMouseOutImage;
if(StringUtils.isNotBlank(onMouseOutImage))
EztImage.this.add(new AttributeAppender(“onmouseout”, new Model(“this.src = ‘” + onMouseOutImage + “‘;”), “;”));
}

public String getOnMouseUpImage() {
return onMouseUpImage;
}

public void setOnMouseUpImage(String onMouseUpImage) {
this.onMouseUpImage = onMouseUpImage;
if(StringUtils.isNotBlank(onMouseUpImage))
EztImage.this.add(new AttributeAppender(“onmouseup”, new Model(“this.src = ‘” + onMouseUpImage + “‘;”), “;”));
}

public String getOnMouseDownImage() {
return onMouseDownImage;
}

public void setOnMouseDownImage(String onMouseDownImage) {
this.onMouseDownImage = onMouseDownImage;
if(StringUtils.isNotBlank(onMouseDownImage))
EztImage.this.add(new AttributeAppender(“onmousedown”, new Model(“this.src = ‘” + onMouseDownImage + “‘;”), “;”));
}
}

Leave a Reply