Wicket Image with Javascript
May 15, 2008
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 + “‘;”), “;”));
}
}