免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 8667 | 回复: 5
打印 上一主题 下一主题

如何让一个窗口总在最前面呢? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-10-10 14:05 |只看该作者 |倒序浏览
如何让一个窗口(JFrame和JDialog)总在最前面呢?
谢谢!

论坛徽章:
0
2 [报告]
发表于 2004-10-10 15:09 |只看该作者

如何让一个窗口总在最前面呢?

JDialog d;
d=new JDialog(f,"提示",true);

f是JDialog所属的面板,后面是JDialog的标题,true表示总在最前,如果是false则不行!

论坛徽章:
0
3 [报告]
发表于 2004-10-10 18:05 |只看该作者

如何让一个窗口总在最前面呢?

如果在一个main()函数中让弹出的Dialog在最前面,那这个f是什么呢?

论坛徽章:
0
4 [报告]
发表于 2004-10-10 19:34 |只看该作者

如何让一个窗口总在最前面呢?

如果你需要一个Always-on-Top的JFrame或是JDialog的话,jdk 1.5里有提供。
或者你可以监听focus事件,以保证你的窗口始终在所有的应用程序的前面。

论坛徽章:
0
5 [报告]
发表于 2004-10-11 11:50 |只看该作者

如何让一个窗口总在最前面呢?

您能说的详细一点吗?

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

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

谢谢了!

论坛徽章:
0
6 [报告]
发表于 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,否则也就是这个效果了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP