|
Dialogs
Ready for more? You've covered most of the widgets, panels (even the nested ones), and menus. You'll also need to know about dialogs. These are the small boxes that pop up and ask you to answer yes or no. Expanding on the menu example, suppose the Clear function poses a question like: "Is it OK to clear all text?" This is a situation where dialogs come in handy. A dialog can be thought of as a separate application, so you define a special configuration file (confirm.xml) for it:
<dialog name="dialog" text="Confirmation" modal="true"
columns="2"
gap="10" left="5" right="5" top="10" bottom="10">
<label name="message" text="Is it OK to clear all text?" colspan="2"/>
<button name="yes" text="Yes" action="closeDialog(dialog, this)" weightx="1"/>
<button name="no" text="No" action="closeDialog(dialog, this)" weightx="1"/>
</dialog>
modal="true" means that the dialog must be closed before you can proceed with the main window. Apart from this, nothing in the config file is really new, except for the dialog tag. To display this dialog, you need this code:
public void clear(Object area) throws IOException {
Object dialog = parse("confirm.xml");
add(dialog);
}
When the clear method is called, the dialog pops up (Figure 5).
Pressing either of the buttons calls the closeDialog method:
public void closeDialog(Object dialog, Object button) {
String answer = getString(button, "name");
if (answer.equals("yes")) {
Object area = find("area");
setString(area, "text", "");
}
remove(dialog);
}
Note that you have to locate the textarea widget yourself. The dialog xml file does not know the name of this widget, so you can't use area in the call to closeDialog.
Note: If you're fond of graphics, you'll be pleased to know that you many widgets can be shown with icons.
To make an icon appear, add the following code to the dialog tag:
<dialog icon="/icons/warning.gif" ...
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|