这几天找资料,突然在网上看到一篇文章,介绍怎样将一些本地窗口嵌入到java的界面中,感觉非常有趣,而且也还比较实用,就花了点心思看了,然后当了他的代码试了一下,还真不错。不过,他需要用到jni,需要用c再写一个dll,虽然可以直接用那位大哥写好的,感觉还是有点麻烦。我就在想,有没有更简单的一点的办法呢,于是又找了一找,还真让我找到了。
这个方法,就是使用swt的org.eclipse.swt.internal.win32.OS类来实现。swt是ibm最初开发出来的,目的就是开发忠于操作系统的java界面。Windows为了方便大家开发,暴露出来了不少的api,做过win32编程的同志估计相当熟悉。swt就是使用java的jni技术,为java语言到win32的接口搭了个一一对应的桥。它只做了一个简单的对应,没有加入什么自已的逻辑,所以也就不会有多少java这边代码的bug,要有bug也是win32那些接口实现的bug。所以,它的速度和稳定性,都是Sun的awt和swing是不能比拟的。
好了,费话不多说,下面是代码:
代码是网上原创的那位大哥写的,我这里只是简单地引过来,然后改了改。写在这里是给自已记个笔记,当然,如果有兄弟能用到,也不错。