首页 > 学院 > 开发设计 > 正文

怎样让窗口始终在前

2019-11-18 13:20:38
字体:
来源:转载
供稿:网友

  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.

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表