技术开发 频道

AUIML Toolkit 入门

  现在您已经成功运行了示例,下一个重要步骤是创建您自己的一个简单的 AUIML 面板。我们将介绍如何使用 Eclipse 的插件 Visual Builder 来创建面板。Visual Builder 可以让您拖放控件来轻松创建面板。

  设计一个简单面板

  可以使用 Visual Builder 来创建简单或复杂的面板。在开始设计面板时,应该有一个基本的概念,知道需要哪些控件,以及如何在面板中放置这些控件。而且,每个控件都有许多属性,可以设置这些属性来定制控件和指定初始值。例如,数值控件允许您指定最小值和最大值。可以使用该控件的属性设置这些值。现在我们将使用文本输入字段和几个按钮来创建一个简单的面板。

  从 WebSphere Studio 或 Eclipse 中打开 Visual Builder 透视图。

  通过选择 File >New >AUIML file创建一个新文件,并将其命名为 AuimlTest。

  在新 AuimlTest 文件的 Contents 视图中,右击 Panels项,然后选择 Create Panel。现在将看到一个名为 Panel1 的新项,该项列在 Panels 下。图 10 显示了这个新面板:

  图 10. 创建 AUIML 面板

  您将获得包含 OK、Cancel 和 Help 按钮的空白 AUIML 面板,如图 11 中所示:

  图 11. 第一个面板

  单击控制面板上的 EditBox >String,然后单击 Panel1 中的右上网格。现在,面板应该如图 12 所示:

  图 12. 包含 EditBox 的面板

  转至 Properties 视图,并在 Caption 属性中输入 Some Text。现在,面板应该如图 13 所示:

  图 13. 包含 EditBox 和文本的面板

  每个控件都可以有一个与之相关的标题,这是基本面板所需要的。让我们也在面板中输入一个标题。

  在 Contents 视图中,单击 Panel1显示面板的属性。

  在 Panel1 的 Caption 属性中输入 Some Title。输入标题不会更改面板的 Visual Builder 视图。

  通过单击工具栏中 Preview 按钮旁边的箭头按钮来预览面板,并选择 IBM Swing。应该出现如图 14 中所示的窗口:

  图 14. Swing 预览

  单击工具栏中 Preview 按钮旁边的箭头,并选择 IBM HTML 4.0 (Desktop)。应该可以看到图 15 中的窗口:

  图 15. HTML 预览

  在菜单栏中,选择 File >Save保存文件。

  接着,我们将创建一个 Java 程序,以便在 Swing 环境中运行该面板。

  在 Swing 中运行您的面板

  要运行您的面板,请完成下列步骤:

  在 Eclipse 或 WebSphere Studio 中切换到 Java 透视图。

  使用 main() 方法创建一个新的 Java 类文件,然后将其命名为 RunAuimlTest.java,如图 16 中所示:

  图 16. 创建新的 Java 类

  使用下列代码创建 RunAuimlTest :

1 import com.ibm.ui.application.WebApplicationAdapter;
2 import com.ibm.ui.framework.Capabilities;
3 import com.ibm.ui.framework.DataBean;
4 import com.ibm.ui.framework.IllegalUserDataException;
5 import com.ibm.ui.framework.TaskActionEvent;
6 import com.ibm.ui.framework.TaskActionListener;
7 import com.ibm.ui.framework.TaskManagerException;
8 import com.ibm.ui.framework.UserTaskManager;
9 public class RunAuimlTest extends WebApplicationAdapter implements DataBean,
10   TaskActionListener {
11     static final String auimlFileName = "AuimlTest"; // Package qualified file name
12     static final String auimlPanelName = "Panel1";
13     public static void main(String[] args) {
14         RunAuimlTest runTest = new RunAuimlTest();
15         runTest.render(WebApplicationAdapter.MODE_VIEW);
16     }
17     public RunAuimlTest(){
18     }  
19     /*
20      * @see com.ibm.ui.framework.DataBean#load()
21      */
22     public void load() {      
23     }
24     /*
25      * @see com.ibm.ui.framework.DataBean#verifyChanges()
26      */
27     public void verifyChanges() throws IllegalUserDataException {
28     }
29     /*
30      * @see com.ibm.ui.framework.DataBean#save()
31      */
32     public void save() {
33     }
34     /*
35      * @see com.ibm.ui.framework.DataBean#getCapabilities()
36      */
37     public Capabilities getCapabilities() {
38         return null;
39     }
40     /*
41      * @see com.ibm.ui.framework.TaskActionListener#actionPerformed
42        (com.ibm.ui.framework.TaskActionEvent)
43      */
44     public void actionPerformed(TaskActionEvent event) {
45     }
46     /*
47      * @see com.ibm.ui.application.WebApplicationAdapter#render(java.lang.String)
48      */
49     public void render(String arg0){
50         try {
51             // Call load on the dataBean, which sets up the data to be returned
52             // from the getter methods.
53             this.load();
54             // We pass in the name of the auiml file, the panel name, the data bean and
55             // we get the user context
56             UserTaskManager utm = new UserTaskManager
57               (auimlFileName,auimlPanelName,new DataBean[]{this},getUserContext());
58             // We implement TaskActionListener so add the listener to the utm
59             utm.addTaskActionListener(this);
60             utm.invoke(); // Displays the panel
61         } catch (TaskManagerException e) {
62             e.printStackTrace();
63         }
64     }
65 }
66

  方法 load() 、 verifyChanges() 、 save() 和 getCapabilities() 来自 DataBean 实现, actionPerformed() 方法则来自实现 TaskActionListener 。在主类中实现 DataBean 和 TaskActionListener 可能适用于简单的示例,对于更复杂的应用程序,则需要在单独的 Java 类中实现 DataBean 。

  可以设置 Visual Builder 来自动生成 DataBean() 方法存根。要进行此操作,需要在 Visual Builder 的目录视图中选择 auiml 文件。属性视图包含名为 Generate Data Beans 的属性,应该将该属性设为真。对于单个控件,可以指定 Binding 属性。该属性允许您将 DataBean getter 和 setter 与该控件捆绑在一起。当为控件指定绑定时,需要指定包、类名称和属性。类名称是 DataBean 类名称,而属性则被创建到 getter 和 setter 方法名称中。然后,在保存 auiml 文件时,如果 Visual Builder 没有找到与其相匹配的类,它会自动创建 DataBean 类,或者更新一个现有类。

  保存和编译代码。

  您需要为 RunAuimlTest 应用程序创建一个运行配置,如图 17 中所示:

  图 17. 运行配置

  类路径需要包含必需的 auiml JAR 文件。图 18 显示了一个示例:

  图 18. 运行类路径

  运行 RunAuimlTest 程序时,应该可以看到我们讨论的测试面板,如图 19 中所示:

  图 19. 运行面板

0
相关文章