关于swing嵌入ocx或dll影像控件的问题,自己研究了一下,今天发出来给大家共享一下
swing调用OCX或dll的方法有很多,其中包括:jcob、comfyj、jawin、jni、jna等等很多方式,但是如果要显示dll或ocx的控件在swing界面上,就有点麻烦了,就像ocx在IE中显示的<object...>对象一样。
这几种我都实验过,最好用的还是comfyj,但是这个东东最后发现是收费的,而且还不菲~~,如果给客户使用可能存在风险,所以就抛弃了。
然后实验jcob,jcob大家应该都非常熟悉,其实只调用ocx的方法的话,就他就能够满足了,但是如果是ocx或dll视频控件在你的swing程序上显示出来,就非常麻烦了,网上找了很久,也没找到可供参考的资料。最后作罢。
再然后又测试的jawin,最终jawin可以正确展示我的ocx/dll控件视频框,但是好像仅仅支持加载32位动态库,如果是64位的,百度和谷歌了很久也没找到,最后在csdn一个论坛里找了一个加载不报错的,但是不能用~~,郁闷了。
再最后,看到一篇文章,SWT中可以显示word文档,然后心想应该有门,所以又做了测试,并且最终测试成功,现在能在swing上显示32位和64位的动态库或ocx的影像控件了~~~~~~
原理: 用SWT显示控件的视频框,然后将SWT放在swing界面上,然后通过SWT调用封装的dl
swing调用OCX或dll的方法有很多,其中包括:jcob、comfyj、jawin、jni、jna等等很多方式,但是如果要显示dll或ocx的控件在swing界面上,就有点麻烦了,就像ocx在IE中显示的<object...>对象一样。
这几种我都实验过,最好用的还是comfyj,但是这个东东最后发现是收费的,而且还不菲~~,如果给客户使用可能存在风险,所以就抛弃了。
然后实验jcob,jcob大家应该都非常熟悉,其实只调用ocx的方法的话,就他就能够满足了,但是如果是ocx或dll视频控件在你的swing程序上显示出来,就非常麻烦了,网上找了很久,也没找到可供参考的资料。最后作罢。
再然后又测试的jawin,最终jawin可以正确展示我的ocx/dll控件视频框,但是好像仅仅支持加载32位动态库,如果是64位的,百度和谷歌了很久也没找到,最后在csdn一个论坛里找了一个加载不报错的,但是不能用~~,郁闷了。
再最后,看到一篇文章,SWT中可以显示word文档,然后心想应该有门,所以又做了测试,并且最终测试成功,现在能在swing上显示32位和64位的动态库或ocx的影像控件了~~~~~~
原理: 用SWT显示控件的视频框,然后将SWT放在swing界面上,然后通过SWT调用封装的dl