快速业务通道

快速上手Java编程 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
dbTable = new Swing.JTable(5, maxCols); dbPanel.add(new Swing.JScrollPane(dbTable));

接下来,我们使用 JavaAccess 创建列的名称向量,这些名称是用 getColumnName() 方法从结果集中的元数据处获取的。然后我们用这一向量来设 定 JTable 的列的标题。请注意,与 EcmaScript 数组基于 0 的索引不同,结 果集的操作方法在基于 1 的索引上工作。

var dbVec = new java.util.Vector; for (col=0; col<maxCols; col++)   dbVec.add(res.getColumnName(col+1)); dbTable.getModel.setColumnIdentifiers(dbVec);

然后我们仔细研究结果集中每一行中每个列的值,并在 JTable 中设定相应 的值。

row = 0; while (res.next()) {   for (col=0; col<maxCols; col++)    dbTable.setValueAt(res.getColumnItem(col+1), row, col);   row++; }

快速上手Java编程(6)

时间:2011-06-10 IBM Sing Li

GUI 事件处理

现在已准备好创建即将成为应用程序框架的 JFrame 了。然后我们将 JPanel 连同 JTable 加入到 JFrame 中,并为 WindowClosing 事件连接一个事件处理 程序。请注意简单句法。一旦在 FESI 运行期接受了 WindowClosing 事件,分 配给 onWindowClosing 的 EcmaScript 代码片段就会被执行。

var dbFrame = new Swing.JFrame("FESI DB Viewer App"); dbFrame.getContentPane().add(dbPanel); dbFrame.pack(); dbFrame.setVisible(true); dbFrame.onWindowClosing = "dbFrame.dispose(); exit();";

若现在运行 GUIViewer.es 脚本,您将看到如图 2 显示的数据库内容。如在 运行中遇到问题,请确认 JDBC 驱动程序位于运行 FESI 的 VM 类路径中。

图 2. RDBMS 数据的 FESI GUIViewer

快速上手Java编程 - 编程入门网

将脚本引擎集成到应用程序中

目前为止,我们的讨论都是围绕着使用 EcmaScript 来简单、轻松地平衡 Java 平台上的 API 。我们未涉及如何将 FESI 自身嵌入到 Java 程序中去。这 一方法将允许我们:

创建使用 Java 和 EcmaScript 的结合来实现内部逻辑的 Java 应用程序。 我们能够在配置期间轻松地定制这些应用程序的核心逻辑,或者甚至在运行期间 动态地修改它。

创建支持 EcmaScript 作为脚本语言的 Java 应用程序 -- 通常叫做脚本主 机

您能通过使用 fesi.jar 存档中的 FESI.jslib 库包来利用 FESI。我们将使 用以下的类:

FESI.jslib.JSGlobalObject -- 引用全程对象声明一个 FESI 解释程序实例

FESI.jslib.JSUtil -- 一个有效类,包括适合创建 FESI 求值程序(解释程 序实例)的工厂方法。

这一叫做 EmbedScript.java 的样本 Java 程序在内部整合了 DBScriptFlex.es 和 GUIViewer.es 的功能。它呈现出一个带有两个按钮的用户 界面,如图 3 所示。按下任何一个按钮,您就能执行相应的功能性。事实上, 该程序在内部创建了一个 FESI 解释程序,并解释了相关的 EcmaScript 文件。--www.bianceng.cn

图 3.一个嵌入了 FESI 的 Java 程序

快速上手Java编程 - 编程入门网

快速上手Java编程(7)

时间:2011-06-10 IBM Sing Li

让我们来回顾一下 EmbedScript.java 的源代码。首先需要连接到 FESI 以 引入 FESI.jslib 程序包:

import java.awt.*; import java.awt.event.*; import java.io.*; import FESI.jslib.*;

JSGlobalObject 引用的, FESIInst ,将包括 FESI 解释程序的实例。这两 个我们先定义的常量与两个按钮的操作逻辑相对应。我们在 EcmaScript 中编写 了逻辑的每个片段的代码:

public class EmbedScript extends Frame implements ActionListener {   static JSGlobalObject FESIInst = null;   static final String POPULATE_RDBMS = "DBScriptFlex.es";   static final String GUIVIEW_RDBMS = "

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号