Java Swing, create a panel over a window by its hwnd handler - java

I'm writing a java app and at some point I create a window using Windows API through JNI.
How can I create a jpanel over a part of that window so I can add gui to it in the java side?
If that's not possible, then can I create a window in java and set it's parent to the first
window to achieve a similar result?

Related

Embedding a native window inside a JFrame

Does anyone know of a method or API that supports embedding a native window inside either a Java JFrame or JPanel?
I found this previous post:
How do I run an external program inside a Java frame in netbeans in a platform independent manner?
I can get the window handle using:
http://www.java-forums.org/advanced-java/44064-getting-window-id-window-frame.html
and this works fine.
This article appears to suggest that it's possible, but does not illustrate how:
Embed HWND (Window Handle) in a JPanel

Java Window in another Window

Multi-window applications often have a main-window, and all other windows are kind of 'parented' to it. Minimizing such a sub-window will hide its content and show the title-bar at the bottom-left of the screen. Also, these windows do not have their own Icon in the Task-bar, only the main-window does.
How can I make a window being attached this way to another window?
If that is possible, is it also possible without a referenfe to the actual main window?
#2: I'm embedding Java into such an application and I would like to be able to use awt or swing additionally to the native dialogs, which have this behavior by default.
See How to Use Internal Frames.
have look at JInternalFrames for MDI application
read Oracle tutorial, try code example

Create child Window of another process's HWND? (e.g. screensaver preview)

I'm writing a screensaver in Java. It's primarily for Windows, though I'd prefer it to be as portable as practical.
According to http://support.microsoft.com/kb/182383, when a screensaver is invoked with command line args /p HWND, the screensaver should "Preview Screen Saver as child of window ." Presumably this is how screensavers should their little preview in the Screen Saver Settings dialog.
So how, in Java, do you create a JFrame or JComponent that's a child of a window that belongs to somebody else?
I've looked at Embed HWND (Window Handle) in a JPanel
which is sort of the reverse question: The developer controls the parent window and wants to embed a child window. In my case, I control a child component that I want into embed into a parent that is not "mine". Can I use JNA to do that?
I'd rather not have to maintain C code in addition to Java code. (So JNI is not preferred.) I understand that JDIC was supposed to meet this kind of need, but I've read that JDIC is essentially dead.
I'm running Windows 7, FWIW.
Have a look at Jdic, it has an SDK for screensavers, so at least you may study their code..
You need to call a win32 api. That api is in C. You'll need to the interop layer to do this. I think every option will be gross.
For Java, I think that is JNI. See this on how to do it.
You will also need to pass that value to SetParent.
The screen saver runs at the same security rights as the screensaver dialog so this isn't a security issue.

How this pop up is called in Java Swing?

Friends I do not know how this pop up is called. I am developing a software that will use this kind of pop up. How this component is called in Java Swing? It would be helpful to get an example of this with sample code.
Use JWindow / undecorated JDialog for popup windows in Swing GUI

Startup up Logo window - Swing

I have written a swing application in Java and want to display the logo of the application at program start-up for a couple of seconds before the actual program GUI appears. How do you think I can do this in swing?
A built-in Splash-Screen Functionality was added in Java SE 6, take a look here .
You can use SplashScreen: SplashScreen.getSplashScreen().setImageURL(imageURL)
If it does not meet your requirements for some reason you can either create instance of java.awt.Window or javax.swing.JWindow and put image at the middle of the window. Use Timer to disappear this window after specific timeout.
You can also use Frame or JFrame and call its f.setUndecorated(false)

Categories