Chinaunix

标题: 如何让一个窗口总在最前面呢? [打印本页]

作者: Hotown    时间: 2004-10-10 14:05
标题: 如何让一个窗口总在最前面呢?
如何让一个窗口(JFrame和JDialog)总在最前面呢?
谢谢!
作者: crystal8034    时间: 2004-10-10 15:09
标题: 如何让一个窗口总在最前面呢?
JDialog d;
d=new JDialog(f,"提示",true);

f是JDialog所属的面板,后面是JDialog的标题,true表示总在最前,如果是false则不行!
作者: Hotown    时间: 2004-10-10 18:05
标题: 如何让一个窗口总在最前面呢?
如果在一个main()函数中让弹出的Dialog在最前面,那这个f是什么呢?
作者: sakulagi    时间: 2004-10-10 19:34
标题: 如何让一个窗口总在最前面呢?
如果你需要一个Always-on-Top的JFrame或是JDialog的话,jdk 1.5里有提供。
或者你可以监听focus事件,以保证你的窗口始终在所有的应用程序的前面。
作者: Hotown    时间: 2004-10-11 11:50
标题: 如何让一个窗口总在最前面呢?
您能说的详细一点吗?

我用的是JBuild编译器,我响应了focusLost的事件用System.out让他输出一句话,但是当窗口失去focus时,没有输出啊?

这是怎么回事啊?该怎么监听focus事件呢?

谢谢了!
作者: sakulagi    时间: 2004-10-11 15:33
标题: 如何让一个窗口总在最前面呢?

  1. public static void main(String[] args) {
  2.                 final JFrame jf = new JFrame();
  3.                 jf.addWindowListener(new WindowAdapter() {
  4.                         public void windowDeactivated(WindowEvent event) {
  5.                                 jf.toFront();
  6.                         }
  7.                 });
  8.                 jf.setBounds(100, 100, 200, 120);
  9.                 jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  10.                 jf.show();
  11.         }
复制代码

效果很一般。除非用JNI或是jdk1.5,否则也就是这个效果了。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2