WEB开发网
开发学院软件开发Java 弥补和 COM 的缝隙 阅读

弥补和 COM 的缝隙

 2010-04-01 00:00:00 来源:WEB开发网   
核心提示: 生成代理之后,现在用户可以写 Java 应用程序来和 COM 服务器会话了,弥补和 COM 的缝隙(5),清单 2 展示了一个小的程序,它将启动 1-2-3,这意味着可以下载并评估它,与开发小组分享您的想法,把一行写到一个单元格,复制那一行

生成代理之后,现在用户可以写 Java 应用程序来和 COM 服务器会话了。清单 2 展示了一个小的程序,它将启动 1-2-3,把一行写到一个单元格,复制那一行,等待一秒钟,然后不保存地关闭 1-2-3。这是个简单的示例,但是它说明了构建一个更复杂的程序所必需的每一件事。很多示例包括在 Bridge2Java 包中,和其它的一起,该包展示了如何捕获事件并在 Java 画布中描绘 COM 服务器。

列表 2. Quick123.java

// Description: This is a Bridge2Java Lotus 1-2-3 demo. This demo brings up 
//       1-2-3, writes "This is a test" in the first cell, 
//       copies the first cell to the cell below it, waits 1 second, 
//       then quits. 
// 
// Setup: None 
// 
// Author: Bill Phillips 
// 
import Lot123.*; 
public class Quick123 
{ 
  public static void main(java.lang.String[] args) { 
    Application app; 
    Ranges ranges; 
    Document doc; 
    Range rangeA1, rangeA2; 
    try 
    { 
      // Set up the com environment. 
      com.ibm.bridge2java.OleEnvironment.Initialize(); 
      // Create a new document (which starts 123). 
      doc = new Document(); 
      // Get the application object. 
      app = new Application(doc.get_Parent()); 
      // Make the application visible. 
      app.set_Visible(new Boolean("true")); 
      // Open the Range workbook. 
      doc = new Document(app.NewDocument()); 
      // Get all of the ranges. 
      ranges = new Ranges(doc.get_Ranges()); 
      // Get cell A1. 
      rangeA1 = new Range(ranges.Item(new String("A1")) ); 
      // Set the contents of cell A1 
      rangeA1.set_Contents("This is a test"); 
      // Get cell A2. 
      rangeA2 = new Range(ranges.Item(new String("A2")) ); 
      // Copy the contents of cell A1 into cell A2 
      rangeA1.QuickCopy(rangeA2); 
      // Wait one second 
      Thread.sleep(1000); 
      // Quit 123 without saving 
      app.Quit("false"); 
    } catch (com.ibm.bridge2java.ComException e) 
    { 
      System.out.println( "COM Exception:" ); 
      System.out.println( Long.toHexString((e.getHResult())) ); 
      System.out.println( e.getMessage() ); 
    } catch (Exception e) 
    { 
      System.out.println("message: " + e.getMessage()); 
    } finally 
    { 
      app = null; 
      com.ibm.bridge2java.OleEnvironment.UnInitialize(); 
    } 
  } 
} 

总结

COM 提供了一种体系结构,该体系结构允许在真实组件级别使用程序而不用关心它们的版本、写程序所用的语言甚至它们运行的位置。Java 平台提供了一个易于临时用户学习和使用的语言。Bridge2Java 跨越了复杂仍强大的 COM 世界和 Java 语言的简单性之间的鸿沟。

Bridge2Java 当前是 IBM alphaWorks 技术,这意味着可以下载并评估它,与开发小组分享您的想法。您也可以获取许可把它用到您自己的产品中。

上一页  1 2 3 4 5 

Tags:弥补 COM 缝隙

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接