In Java 1.4 you could use ((SunToolkit) Toolkit.getDefaultToolkit()).getNativeWindowHandleFromComponent() but that was removed.
It looks like you have to use JNI to do this now. Do you have the JNI code and sample Java code to do this?
I need this to call the Win32 GetWindowLong and SetWindowLong API calls, which can be done via the Jawin library.
I would like something very precise so I can pass a reference to the JDialog or JFrame and get the window handle.
Swing transparency using JNI may be related.
The following code lets you pass a Component to get the window handle (HWND) for it. To make sure that a Component has a corresponding window handle call isLightWeight() on the Component and verify that it equals false. If it doesn’t, try it’s parent by calling Component.getParent().
Java code:
Header file main.h:
The C source main.c: