社区
Java SE
帖子详情
用java如何控制弹出窗口在闲置若干秒后自动关闭?
阿仁1984
2012-07-13 10:11:39
现在有这样一个需求,用java在屏幕右下角弹出一个窗口。就像进入CSDN时那个广告窗口一样。然后如果在一定时间内都不点击关闭按钮,那这个窗口就自动关闭。
请问如何处理“然后如果在一定时间内都不点击关闭按钮,那这个窗口就自动关闭”这个问题?
大家给个思路就行。谢谢!
...全文
1890
12
打赏
收藏
用java如何控制弹出窗口在闲置若干秒后自动关闭?
现在有这样一个需求,用java在屏幕右下角弹出一个窗口。就像进入CSDN时那个广告窗口一样。然后如果在一定时间内都不点击关闭按钮,那这个窗口就自动关闭。 请问如何处理“然后如果在一定时间内都不点击关闭按钮,那这个窗口就自动关闭”这个问题? 大家给个思路就行。谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cornerpoet
2012-11-18
打赏
举报
回复
不好意思,上贴写错了,是线程
cornerpoet
2012-11-18
打赏
举报
回复
如果用现成的话,不是在main函数里调用的话很容易造成frame的内容不显示,求解 ..
hero5460
2012-07-21
打赏
举报
回复
如果不是一定使用java来实现的话,那可以利用第三方插件,简单易用,路过
lzc_hacker
2012-07-20
打赏
举报
回复
2
public class NewJDialog extends JDialog implements ActionListener
{
private Timer time;
public NewJDialog()
{
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
getContentPane().setLayout(null);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setBounds((screenSize.width - 416) / 2, (screenSize.height - 338) / 2,
416, 338);
time = new Timer(5000, this);
time.start();
addMouseListener(new MouseAdapter()
{
@Override
public void mouseEntered(MouseEvent e)
{
time.stop();
}
@Override
public void mouseExited(MouseEvent e)
{
time.start();
}
});
}
public static void main(String args[])
{
new NewJDialog().setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e)
{
this.dispose();
}
}
这样写就能达到你的要求
leeklyh
2012-07-14
打赏
举报
回复
弹出窗口可以用javax.swing.JFrame来实现,【在一定时间内都不点击关闭按钮,那这个窗口就自动关闭】这个需求可以用javax.swing.Timer来实现(setInitialDelay方法),比如设置5秒种后关闭窗口,先提示到这里,楼主你好好考虑一下。
阿仁1984
2012-07-14
打赏
举报
回复
[Quote=引用 7 楼 的回复:]
package 回答;
import java.awt.Color;
import java.awt.Frame;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.……
[/Quote]
你这个是窗口定时关闭,我说的是如果窗口闲置20秒就自动关闭。如果在这20秒里鼠标动了窗口的话计时器就要清0,然后从鼠标不动时再开始计时,等待20秒。
gqy281615
2012-07-14
打赏
举报
回复
package 回答;
import java.awt.Color;
import java.awt.Frame;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.Timer;
public class CloseWindowIn5 extends Frame implements Runnable{
public void showWindow(){
this.setSize(300, 400);
this.setLocation(100, 100);
this.setBackground(Color.gray);
this.setVisible(true);
}
public static void main(String[] args) {
CloseWindowIn5 clos = new CloseWindowIn5();
new Thread(clos).start();
clos.showWindow();
}
@Override
public void run() {
try {
Thread.sleep(5000);
setVisible(false);
System.exit(0);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
gqy281615
2012-07-14
打赏
举报
回复
package 回答;
import java.awt.Color;
import java.awt.Frame;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.Timer;
public class CloseWindowIn5 extends Frame implements Runnable{
public void showWindow(){
this.setSize(300, 400);
this.setLocation(100, 100);
this.setBackground(Color.gray);
this.setVisible(true);
}
public static void main(String[] args) {
CloseWindowIn5 clos = new CloseWindowIn5();
new Thread(clos).start();
clos.showWindow();
}
@Override
public void run() {
try {
Thread.sleep(5000);
setVisible(false); //关闭窗口
System.exit(0);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
yousun4688
2012-07-14
打赏
举报
回复
Thread.sleep()
金墨痴
2012-07-14
打赏
举报
回复
thead.sleep(n秒)
阿仁1984
2012-07-14
打赏
举报
回复
[Quote=引用 2 楼 的回复:]
弹出窗口可以用javax.swing.JFrame来实现,【在一定时间内都不点击关闭按钮,那这个窗口就自动关闭】这个需求可以用javax.swing.Timer来实现(setInitialDelay方法),比如设置5秒种后关闭窗口,先提示到这里,楼主你好好考虑一下。
[/Quote]
弹出窗口已搞定了,现在就是怎么判断窗口是否闲置呢?比如窗口弹出5秒了都没人去动它,自己就关了。可是当弹出4秒后正准备在下一秒自己关闭的时候,突然有人把鼠标移到窗口上了,那这个4秒时间将被清0,等鼠标移出窗口范围后再开始重新计时。这个功能怎么实现啊?
Is-stefan
2012-07-13
打赏
举报
回复
用线程吧
Java
知识点概览
java
后端开发常见面试题总结
java
知识点汇总
文章目录面试前的工作礼貌常识公司及岗位了解自我介绍充足的知识储备提问环节面试后的总结
java
SEjdk1.8新特性
java
语言的特征如何实现跨平台谈谈你对面向对象的认识理解聊聊面向对象的特征,封装,继承,多态访问权限对象创建过程? 从jvm的角度出发,延伸到对象在内存中的存储空间
Java
类初始化顺序
java
中创建对象的方式对象克隆,浅克隆,深克隆构造方法对象与引用静态static抽象类和接口ObjectString特征为什么不可变String类不可变性的好处? 为什么设计为不可变.String的值不可
Java
八股文笔记
个人整理的面试相关的
Java
八股文
《Thinking in
Java
》读书笔记
第1章 对象入门 基本概念:
Java
的Project name和工程目录名对应,每个Project下又可以包含
若干
package,每个package名又跟工程目录下的同名目录对应,在每个package可以建
若干
class,每个class对应两个文件,类名.
java
和类名.class,前者是编译过的,后者是源代码文件。通过Eclipse文件->Export,我们可以把整个工程(即整个工程
Java
面试宝典Beta5.0
pdf下载地址:
Java
面试宝典 第一章内容介绍 20 第二章
Java
SE基础 21 一、
Java
面向对象 21 1. 面向对象都有哪些特性以及你对这些特性的理解 21 2. 访问权限修饰符public、private、protected, 以及不写(默认)时的区别(2017-11-12) 22 3. 如何理解clone对象 22 二、
Java
SE语法(2017-11-12-wl) ...
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章