|
|
|
|
|
|
SolutionDownload FormElement source code.HTML Interface to Applet<APPLET CODEBASE="/applets/magelang/AWT-Training/classes/" CODE="FormElement.class" WIDTH=300 HEIGHT=150 ALIGN=CENTER></APPLET> Java Codeimport java.awt.Panel; import java.awt.Event; /** * Abstract class to describe the functionality needed for * every field of a form. A form contains spaces for user * input, therefore we want to be able to query whether there * is any contents. We also we want the field to be able * to print itself. */ public abstract class FormElement extends Panel { /** * Returns a String containing text description of this * field and an appropriate label. * @return String text in this field */ public abstract String getContents(); /** * Query whether the field has valid contents * @return boolean true if empty else false */ public boolean isEmpty() { return false; } /** Verify the contents of the element. Empty elements * are always ok (until they hit submit anyway). */ public void verify() {} public boolean handleEvent(Event event) { switch (event.id) { // if they click mouse outside of element or activate it // we verify the element. case Event.LOST_FOCUS: case Event.ACTION_EVENT: if ( !isEmpty() ) verify(); return true; default: return super.handleEvent(event); } } } |