1,The upstair tell you a best way.
2,You can extends JWindow
override show() like this:
public void show()
{
super.show();
this.requestFocus();
}
and then add a window listener for
the focus lost event:
addFocusListener (new java.awt.event.FocusAdapter () {
public void focusLost (java.awt.event.FocusEvent evt) {
this.toFront();
}
}
);
It seems to work for me...
3.You can also try to use thread, I recommend this way.
/**
* Call this from class consructor
*/
public void initialize() {
TopThread top = new TopThread();
top.start();
}
/**
* Keep JWindow on top (inner class)
*/
class TopThread extends Thread {
public void run() {
while(true) {
toFront();
/**
* Let 10 milliseconds for other code to execute
*/
try {
Thread.sleep(10);
}
catch(Exception e) {
// do what you wanna do
}
}
}
}
You can see:http://forum.java.sun.com/thread.jsp?forum=57&thread=166992
That's some others discuss it.