当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:12:00  来源:本站整理

集成Windows本地操纵到Eclipse RCP程序中[Java编程]

赞助商链接



  本文“集成Windows本地操纵到Eclipse RCP程序中[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

Windows 利用程序非常丰富,而有时我们的 Eclipse RCP 程序所需求的一些功效已经有一些现有的 Windows 本地利用程序的实现,我们但愿可以在我们的 RCP 程序中重用这些功效.一种最简单的重用办法就是直接在我们 RCP 窗口中嵌入本地利用程序窗口.要使得一个 Windows 本地利用程序可以在我们的 RCP 程序中运行,我们可以利用 Windows 供应的 reparent 机制.操纵这种机制实现窗口嵌入的主要历程是:首先要在我们的程序中启动要嵌入的 Windows 程序,然后我们设法获得程序启动后的主窗口句柄,再将我们RCP程序的窗口设置成 Windows 程序主窗口的父窗口.

由于我们需求启动 Windows 本地程序并且获得它的主窗口句柄,这些只能利用 Windows 本地调用来实现,所以我们先用 Windows 本地调用实现呼应的功效,然后我们再用 JNI 举行调用.

JNI 简介

JNI 的全称是 Java Native Interface,JNI 尺度是 Java 平台的一部份,它用来将 Java 代码和其他语言写的代码举行交互.下面简单介绍一下利用 JNI 的步骤:

编写带有 native 声明的 java 办法

这里以 HelloWorld 为例:

清单 1. Hello World Java 代码

public class HelloWorld {
  static {
  System.loadLibrary(“helloworld”)}
  }

  public native void print()}

  public static void main(String[] args) {
  HelloWorld hello = new HelloWorld()}
  hello.print()}
  }
}

编译 Java 代码以及生成 c/c++ 头文件:

先编译这个 java 类: javac HelloWorld.java,然后再生成扩大名为 .h 的头文件,java 供应了号令 javah 来生成头文件:javah –jni HelloWorld,下面的清单显示了生成的头文件的内容:

清单 2. Hello World C++ 头文件

/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>}
/* Header for class HelloWorld */

#ifndef _Included_HelloWorld
#define _Included_HelloWorld
#ifdef __cplusplus
extern "C" {
#endif
/*
  * Class:   HelloWorld
  * Method:  print
  * Signature: ()V
  */
JNIEXPORT void JNICALL Java_HelloWorld_print (JNIEnv *, jobject)}

#ifdef __cplusplus
}
#endif
#endif


  以上是“集成Windows本地操纵到Eclipse RCP程序中[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 集成Windows本地操纵到Eclipse RCP程序中
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .