12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
package net.sf.tapestry.form; import net.sf.tapestry.IActionListener; import net.sf.tapestry.IBinding; import net.sf.tapestry.IForm; import net.sf.tapestry.IMarkupWriter; import net.sf.tapestry.IRequestCycle; import net.sf.tapestry.RequestCycleException; /** * Implements a component that manages an HTML <input type=button> form element. * * [<a href="../../../../../ComponentReference/Button.html">Component Reference</a>] * * <p>This component is useful for attaching JavaScript onclick event handlers. * * @author Howard Lewis Ship * @author Paul Geerts * @author Malcolm Edgar * @version $Id: Button.java,v 1.3 2002/11/27 17:58:47 hship Exp $ **/ public class Button extends AbstractFormComponent { private String _label; private boolean _disabled; private IBinding _selectedBinding; private String _name; public String getName() { return _name; } public void setSelectedBinding(IBinding value) { _selectedBinding = value; } public IBinding getSelectedBinding() { return _selectedBinding; } protected void renderComponent(IMarkupWriter writer, IRequestCycle cycle) throws RequestCycleException { IForm form = getForm(cycle); boolean rewinding = form.isRewinding(); _name = form.getElementId(this); if (rewinding) { return; } writer.beginEmpty("input"); writer.attribute("type", "button"); writer.attribute("name", _name); if (_disabled) { writer.attribute("disabled"); } if (_label != null) { writer.attribute("value", _label); } generateAttributes(writer, cycle); writer.closeTag(); } public String getLabel() { return _label; } public void setLabel(String label) { _label = label; } public boolean isDisabled() { return _disabled; } public void setDisabled(boolean disabled) { _disabled = disabled; } }