ibm-information-center/dist/eclipse/plugins/i5OS.ic.rzahh_5.4.0.1/pdmltool.htm

230 lines
14 KiB
HTML
Raw Normal View History

2024-04-02 14:02:31 +00:00
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-us" xml:lang="en-us">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="security" content="public" />
<meta name="Robots" content="index,follow" />
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
<meta name="DC.Type" content="reference" />
<meta name="DC.Title" content="Creating your user interface" />
<meta name="abstract" content="You can create your user interface using the GUI Builder tool." />
<meta name="description" content="You can create your user interface using the GUI Builder tool." />
<meta name="DC.Relation" scheme="URI" content="pdmlpg1.htm" />
<meta name="copyright" content="(C) Copyright IBM Corporation 2006" />
<meta name="DC.Rights.Owner" content="(C) Copyright IBM Corporation 2006" />
<meta name="DC.Format" content="XHTML" />
<meta name="DC.Identifier" content="pdmltool" />
<meta name="DC.Language" content="en-us" />
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<link rel="stylesheet" type="text/css" href="./ibmdita.css" />
<link rel="stylesheet" type="text/css" href="./ic.css" />
<title>Creating your user interface</title>
</head>
<body id="pdmltool"><a name="pdmltool"><!-- --></a>
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<h1 class="topictitle1">Creating your user interface</h1>
<div><p>You can create your user interface using the GUI Builder tool.</p>
<div class="section" id="pdmltool__runninggui"><a name="pdmltool__runninggui"><!-- --></a><p>To start the GUI Builder, use the following command:</p>
<img src="./delta.gif" alt="Start of change" /><pre> java com.ibm.as400.ui.tools.GUIBuilder [-plaf <em>look and feel</em>]</pre><img src="./deltaend.gif" alt="End of change" />
<p>If
you did not set your CLASSPATH environment variable to contain the Graphical
Toolbox JAR files, then you will need to specify them on the command line
using the <tt>classpath</tt> option. See <a href="pdmlbeg.htm#pdmlbeg">Setting
Up the Graphical Toolbox</a>.</p>
<div class="p" id="pdmltool__lookandfeel"><a name="pdmltool__lookandfeel"><!-- --></a><dl><dt class="dlterm"><strong>Options</strong> <samp class="codeph">-plaf <em>look and feel</em></samp> </dt>
<dd>The platform look and feel that you want. This option lets you override
the default look and feel that is set based on the platform you are developing
on, so you can preview your panels to see how they will look on different
operating system platforms.  The following look and feel values are accepted:
<ul><li>Windows<sup>®</sup></li>
<li>Metal</li>
<li>Motif</li>
</ul>
Currently, additional look and feel attributes that Swing 1.1 may support
are not supported by the GUI Builder</dd>
</dl>
</div>
</div>
<div class="section"><h4 class="sectiontitle">Types of user interface resources</h4><p>When you start
the GUI Builder for the first time, you need to create a new PDML file. From
the menu bar on the GUI Builder widow, select <strong>File</strong> --&gt; <strong>New File</strong>.
After you create your new PDML file, you can define any of the following
types of UI resources that you want it to contain.</p>
<dl><dt class="dlterm"><strong>Panel</strong></dt>
<dd>The fundamental resource type.  It describes a rectangular area within
which UI elements are arranged.  The UI elements may consist of simple
controls, such as radio buttons or text fields, images, animations, custom
controls, or more sophisticated subpanels (see the following definitions
for Split Pane, Deck Pane and Tabbed Pane).  A panel may define the
layout for a stand-alone window or dialog, or it may define one of the subpanels
that is contained in another UI resource.</dd>
<dt class="dlterm"><strong>Menu</strong></dt>
<dd>A popup window containing one or more selectable actions, each represented
by a text string ("Cut", "Copy" and "Paste" are examples). You can define
mnemonics and accelerator keys for each action, insert separators and cascading
submenus, or define special checked or radio button menu items. A menu resource
may be used as a stand-alone context menu, as a drop-down menu in a menu bar,
or it may itself define the menu bar associated with a panel resource.</dd>
<dt class="dlterm"><strong>Toolbar</strong></dt>
<dd>A window consisting of a series of push buttons, each representing a possible
user action. Each button may contain text, an icon or both. You can define
the toolbar as floatable, which lets the user drag the toolbar out of a panel
and into a stand-alone window.</dd>
<dt class="dlterm"><strong>Property Sheet</strong></dt>
<dd>A stand-alone window or dialog consisting of a tabbed panels and OK, Cancel,
and Help buttons.  Panel resources define the layout of each tabbed window.</dd>
<dt class="dlterm"><strong>Wizard</strong></dt>
<dd>A stand-alone window or dialog consisting of a series of panels that are
displayed to the user in a predefined sequence, with Back, Next, Cancel, Finish,
and Help buttons.  The wizard window may also display a list of tasks
to the left of the panels which track the user's progress through the wizard.</dd>
<dt class="dlterm"><strong>Split Pane</strong></dt>
<dd>A subpane consisting of two panels separated by a splitter bar. The panels
may be arranged horizontally or vertically.</dd>
<dt class="dlterm"><strong>Tabbed Pane</strong></dt>
<dd>A subpane that forms a tabbed control. This tabbed control can be placed
inside of another panel, split pane, or deck pane.</dd>
<dt class="dlterm"><strong>Deck Pane</strong></dt>
<dd>A subpane consisting of a collection of panels. Of these, only one panel
can be displayed at a time. For example, at runtime the deck pane might change
the panel which is displayed depending on a given user action.</dd>
<dt class="dlterm"><strong>String Table</strong></dt>
<dd>A collection of string resources and their associated resource identifiers.</dd>
</dl>
</div>
<div class="section" id="pdmltool__genf"><a name="pdmltool__genf"><!-- --></a><h4 class="sectiontitle">Generated files</h4><p>The translatable strings
for a panel are not stored in the PDML file itself, but in a separate Java™ resource
bundle. The tools let you specify how the resource bundle is defined, either
as a Java PROPERTIES
file or as a ListResourceBundle subclass. A ListResourceBundle subclass is
a compiled version of the translatable resources, which enhances the performance
of your Java application. However, it will slow down the GUI
Builder's saving process, because the ListResourceBundle will be compiled
in each save operation. Therefore it's best to start with a PROPERTIES file
(the default setting) until you're satisfied with the design of your user
interface.</p>
<p>You can use the tools to generate HTML skeletons for each
panel in the PDML file. At runtime, the correct help topic is displayed when
the user clicks on the panel's Help button or presses F1 while the focus is
on one of the panel's controls. You must insert your help content at the
appropriate points in the HTML, within the scope of the &lt;!-- <tt>HELPDOC:SEGMENTBEGIN</tt> --&gt;
and &lt;!-- <tt>HELPDOC:SEGMENTEND</tt> --&gt; tags.  For more specific
help information see <a href="helpinfo.htm#helpinfo">Editing Help Documents
generated by GUI builder.</a></p>
<p>You can generate source code skeletons
for the JavaBeans™ that will supply the data for a panel. 
Use the Properties window of the GUI Builder to fill in the DATACLASS and
ATTRIBUTE properties for the controls which will contain data.  The DATACLASS
property identifies the class name of the bean, and the ATTRIBUTE property
specifies the name of the gettor/settor methods that the bean class implements. 
Once you've added this information to the PDML file, you can use the GUI Builder
to generate Java source code skeletons and compile them.  At
runtime, the appropriate gettor/settor methods will be called to fill in the
data for the panel.</p>
<div class="note"><span class="notetitle">Note:</span>   The number and type of gettor/settor methods
is dependent on the type of UI control with which the methods are associated. 
The method protocols for each control are documented in the class description
for the <a href="javadoc/com/ibm/as400/ui/framework/java/DataBean.html"> DataBean class</a>.</div>
<p>Finally, you can serialize
the contents of your PDML file.  Serialization produces a compact binary
representation of all of the UI resources in the file.  This greatly
improves the performance of your user interface, because the PDML file must
not be interpreted in order to display your panels.</p>
<p>To summarize: 
If you have created a PDML file named <strong>MyPanels.pdml</strong>, the following
files will also be produced based on the options you have selected on the
tools:</p>
<ul><li><strong>MyPanels.properties</strong> if you have defined the resource bundle as
a PROPERTIES file</li>
<li><strong>MyPanels.java</strong> and <strong>MyPanels.class</strong> if you have defined the
resource bundle as a ListResourceBundle subclass</li>
<li><strong>&lt;panel name&gt;.html</strong> for each panel in the PDML file, if you have
elected to generate online help skeletons</li>
<li><strong>&lt;dataclass name&gt;.java</strong> and <strong>&lt;dataclass name&gt;.class</strong> for
each unique bean class that you have specified on your DATACLASS properties,
if you have elected to generate source code skeletons for your JavaBeans</li>
<li><strong>&lt;resource name&gt;.pdml.ser</strong> for each UI resource defined in the
PDML file, if you've elected to serialize its contents.</li>
</ul>
<div class="note"><span class="notetitle">Note:</span> The conditional behavior functions (SELECTED/DESELECTED) will
not work if the panel name is the same as the one in which the conditional
behavior function is being attached. For instance, if PANEL1 in FILE1 has
a conditional behavior reference attached to a field that references a field
in PANEL1 in FILE2, the conditional behavior event will not work. To fix this,
rename PANEL1 in FILE2 and then update the conditional behavior event in FILE1
to reflect this change.</div>
</div>
<div class="section" id="pdmltool__rc2xmlcall"><a name="pdmltool__rc2xmlcall"><!-- --></a><h4 class="sectiontitle">Running the Resource Script Converter</h4><p>To
start the Resource Script Converter, invoke the Java interpreter as follows:</p>
<pre> java com.ibm.as400.ui.tools.PDMLViewer</pre>
<p>If
you did not set your CLASSPATH environment variable to contain the Graphical
Toolbox JAR files, then you will need to specify them on the command line
using the <tt>classpath</tt> option.  See <a href="pdmlbeg.htm#pdmlbeg">Setting
Up the Graphical Toolbox</a>.</p>
<p>You can also run the Resource Script
Converter in batch mode using the following command:</p>
<pre> java com.ibm.as400.ui.tools.RC2XML <em>file</em> [<em>options</em>]</pre>
<p> Where <em><span>file</span></em> is the name of the resource script (RC file)
to be processed. <strong>Options</strong></p>
<dl><dt class="dlterm"><tt>-x <span>name</span></tt></dt>
<dd>The name of the generated PDML file.  Defaults to the name of the
RC file to be processed.  </dd>
<dt class="dlterm"><tt>-p <span>name</span></tt></dt>
<dd>The name of the generated PROPERTIES file.  Defaults to the name
of the PDML file.  </dd>
<dt class="dlterm"><tt>-r <span>name</span></tt></dt>
<dd>The name of the generated ListResourceBundle subclass.  Defaults
to the name of the PDML file.  </dd>
<dt class="dlterm"><tt>-package <span>name</span></tt></dt>
<dd>The name of the package to which the generated resources will be assigned. 
If not specified, no package statements will be generated.  </dd>
<dt class="dlterm"><tt>-l <span>locale</span></tt></dt>
<dd>The locale in which to produce the generated resources.  If a locale
is specified, the appropriate 2-character ISO language and country or region
codes are suffixed to the name of the generated resource bundle.  </dd>
<dt class="dlterm"><tt>-h</tt></dt>
<dd>Generate HTML skeletons for online help.  </dd>
<dt class="dlterm"><tt>-d</tt></dt>
<dd>Generate source code skeletons for JavaBeans.  </dd>
<dt class="dlterm"><tt>-s</tt></dt>
<dd>Serialize all resources.</dd>
</dl>
</div>
<div class="section"><h4 class="sectiontitle">Mapping Windows Resources to PDML</h4><p>All
dialogs, menus, and string tables found in the RC file will be converted to
the corresponding Graphical Toolbox resources in the generated PDML file. 
You can also define DATACLASS and ATTRIBUTE properties for Windows controls
that will be propagated to the new PDML file by following a simple naming
convention when you create the identifiers for your Windows resources. 
These properties will be used to generate source code skeletons for your JavaBeans when
you run the conversion.</p>
<p>The naming convention for Windows resource
identifiers is:</p>
<pre> IDCB_&lt;class name&gt;_&lt;attribute&gt;</pre>
<p> where <tt>&lt;class
name&gt;</tt> is the fully-qualified name of the bean class that you want to
designate as the DATACLASS property of the control, and <tt>&lt;attribute&gt;</tt> is
the name of the bean property that you want to designate as the ATTRIBUTE
property of the control. </p>
<p>For example, a Windows text field with the resource
ID <tt>IDCB_com_MyCompany_MyPackage_MyBean_SampleAttribute</tt> produces a
DATACLASS property of <strong>com.MyCompany.MyPackage.MyBean</strong> and an ATTRIBUTE
property of <strong>SampleAttribute</strong>.  If you elect to generate JavaBeans when
you run the conversion, the Java source file <strong>MyBean.java</strong> is produced,
containing the package statement <strong>package com.MyCompany.MyPackage</strong>, and
gettor and settor methods for the <strong>SampleAttribute</strong> property.</p>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="pdmlpg1.htm" title="The Graphical Toolbox, a set of UI tools, makes it easy to create custom user interface panels in Java.">Graphical Toolbox and PDML</a></div>
</div>
</div>
</body>
</html>