社区
Java SE
帖子详情
jdk1.6中如何获得Windows窗体的HWND?
weileily
2007-06-20 11:55:55
Windows下使用JDK1.6进行SWING开发,需要获得当前窗体(如JPanel)的HWND?网上可以搜到的使用DrawingSurfaceInfo的方法,似乎在1.4以后已经失效了。不知道哪位有比较好的,确保可以使用的方法能够提供。谢谢!
...全文
493
14
打赏
收藏
jdk1.6中如何获得Windows窗体的HWND?
Windows下使用JDK1.6进行SWING开发,需要获得当前窗体(如JPanel)的HWND?网上可以搜到的使用DrawingSurfaceInfo的方法,似乎在1.4以后已经失效了。不知道哪位有比较好的,确保可以使用的方法能够提供。谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fengmingjie
2007-06-25
打赏
举报
回复
还是用jni调用dll来实现吧
weileily
2007-06-25
打赏
举报
回复
AWT的窗体也是本地的控件,是否有办法能够获得AWT窗体的句柄呢?我看了网上的一些资料,都是通过获得同位体的方法来实现的,但在现在的JDK中已经不允许用户直接操作同位体了,DrawingSurface也无法获得了。还有什么办法可以用来获得AWT控件的句柄呢?
shan1119
2007-06-21
打赏
举报
回复
不会,也没用过.
fool_leave
2007-06-21
打赏
举报
回复
HWND?
java里没有这个概念的
你vc用多了吧
pkuying
2007-06-21
打赏
举报
回复
设JPanel 为p
JComponent c=p;
while(! c instanceof JFrame)
c=c.getParent();
hcmsxy
2007-06-21
打赏
举报
回复
C吧。 写个dll.
使用WindowsApi
FindWindow(NULL,_T("你的窗口标题"));
约翰羊
2007-06-21
打赏
举报
回复
mark too
a_nuo
2007-06-21
打赏
举报
回复
mark
weileily
2007-06-21
打赏
举报
回复
嗯,谢谢楼上的回复,我也做了类似的实验。发现JPanel无法完成我所需要的功能。我采用SWT来实现了。
hcmsxy
2007-06-21
打赏
举报
回复
没看明白你到底是要得到JPanel的Handle还是JPanel所在JFrame的Handle.
首先,swing 的大部分组件都是swing自己画出来的。 底层windows根本不知道这些组件。所以windows中也就没有它们的Handle. JPanel 好像(记得好像是)就是这样的一个组件,它是一个轻量级的。
但是JFrame 不是的,你可以 windows 中找到它的Handle.
用java 实在不知道如何能得到JFrame的Handle.
不过,用 VC写一个很简单的DLL是可以实现的。核心代码就是FindWindow(NULL,_T("window title")) 这个windows api,它返回的结果就是 HWND .
用JNI 调这个Dll就可了。 我刚刚试过,完全可以实现。
另外可以考虑 SWT . 他的实现机制是不同于swing的。
weileily
2007-06-21
打赏
举报
回复
我使用JAVA SWING写了一个主窗体,其中有一个用于进行三维渲染的JPanel。我使用OpenGL写了一个C++的动态链接库,通过SWIG转化为JAVA可以调用的形式。现在希望能够获得这个JPanel的窗体本地句柄,然后传给这个C++写的链接库,然后OpenGL渲染在我指定的这个JPanel上。因此,我想知道,在Linux/Windows下,如何获得SWING窗体的本地句柄。
如果这个方案不行,我希望有人能提供个我一个别的替代方案。谢谢!!
andybogard
2007-06-21
打赏
举报
回复
HWND是VC里的概念,一定要的话用JNI调吧
zzwh_0
2007-06-21
打赏
举报
回复
不知道windows程序的 HWND java中有没有
Cappuccino_mhc
2007-06-21
打赏
举报
回复
不会
没用java做过
InstallShield打包源码公布
InstallShield打包源码公布包含重量级别的内容。 Setup.rul 内容 #include "ifx.h" #include "global.h" ...prototype ExFn_UFWelcome(
HWND
); prototype ExFn_UFDetector(
HWND
); prototype ExF
Java线程池
一般的服务器都需要线程池,比如Web、FTP等服务器,不过它们一般都自己实现了线程池,比如以前介绍过的Tomcat、Resin和Jetty等,现在有了JDK5,我们就没有必要重复造车轮了,直接使用就可以,何况使用也很方便,性能...
MFC文件操作大全
得到文件当前位置,返回32位文件指针 DWORD pos=file.GetPostition(); file.Seek(pos,CFile::begin); 3.GetLength() 10.读取文件属性 DWORD dwAttrs = GetFileAttributes(%%1); if...
c#文件操作代码段保存
12.枚举一个文件夹
中
的所有文件夹 //using System.IO; foreach (string %%2 in Directory.GetDirectories(%%1)){ %%3 } /* DirectoryInfo dir = new DirectoryInfo(%%1); FileInfo[] files = dir.GetFiles...
C# 文件操作代码段保存
12.枚举一个文件夹
中
的所有文件夹 //using System.IO; foreach (string %%2 in Directory.GetDirectories(%%1)){ %%3 } /* DirectoryInfo dir = new DirectoryInfo(%%1); FileInfo[] files = dir.GetFiles...
Java SE
62,615
社区成员
307,307
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章