社区
Java SE
帖子详情
用java如何控制弹出窗口在闲置若干秒后自动关闭?
阿仁1984
2012-07-13 10:11:39
现在有这样一个需求,用java在屏幕右下角弹出一个窗口。就像进入CSDN时那个广告窗口一样。然后如果在一定时间内都不点击关闭按钮,那这个窗口就自动关闭。
请问如何处理“然后如果在一定时间内都不点击关闭按钮,那这个窗口就自动关闭”这个问题?
大家给个思路就行。谢谢!
...全文
2104
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
打赏
举报
回复
用线程吧
电脑运行速度慢优化电脑
在确认没有病毒和流氓软件的前提下,建议优化电脑: 1、禁用
闲置
的IDE通道 右键点击“我的电脑-属性”,然后点击“硬件”接着点击“设备管理器”,在其中打开“IDE ATA/PATA
控制
器”然后分别进入主要和次要IDE通道,选择“高级设置”,在这里找到“当前传送模式”为“不适用”的一项,将此项的“设备类型”设置为“无”。 2、优化视觉效果,
关闭
“视觉效果”中不需要的效果 右键单击
windows下启动tomcat时,后台隐藏tomcat启动黑窗 & 解决端口占用
问题: 通过tomcat/bin下的startup.bat启动时会
弹出
tomcat
控制
台黑窗,有些场景下很碍眼,而且一不小心
关闭
了就会把tomcat服务器也
关闭
了 解决办法 编辑tomcat/bin下的setclasspath.bat文件,将末尾的 set _RUN
JAVA
="%JRE_HOME%\bin\
java
.exe" 改为 set _RUN
JAVA
="%JRE_HOME%\bin\jav...
利用旧手机DIY Lightroom MIDI
控制
器:无线修图新体验
MIDI协议作为一种标准化的数字
控制
接口,最初广泛应用于音乐制作领域,其核心原理是通过发送简单的
控制
指令(如音符开关、
控制
器数值)来远程操控设备。这种高效、通用的“
控制
-反馈”模型,使其技术价值超越了音乐范畴,能够适配任何需要精确参数调整的应用场景。在图像处理领域,特别是专业修图软件中,频繁的滑块调整操作恰好与MIDI的
控制
特性高度契合。通过将MIDI协议与网络传输技术结合,可以实现无线、实时的远程
控制
。本项目正是基于这一思路,利用
闲置
安卓手机作为硬件平台,通过Wi-Fi传输网络MIDI信号,构建了一套自定
Codex Computer Use插件:让AI真正操作桌面应用的
自动
化核心
AI
自动
化不再止步于文本生成与指令建议,而是深入操作系统底层,实现对GUI应用的真实操控。Computer Use插件通过视觉感知引擎、原生UI
自动
化API(Windows UIA/macOS AX)与上下文记忆桥,赋予AI‘手眼能力’,使其能精准点击、拖拽、输入、跨应用协同。这种零代码GUI操作能力,显著降低重复性办公任务(如批量文件处理、跨系统数据搬运、会议纪要转待办)的执行门槛,成为连接AI意图与真实动作的关键枢纽。结合OCR增强、工作流编排、邮件/文档/调试等专业插件,可构建端到端的桌面级智能代理—
Bitfinex 借贷
自动
化本地运行:从脚本到稳定系统的关键实践
量化交易和
自动
化脚本正逐步进入个人投资者的日常,而借贷
自动
化则是其中既贴近实操又容易踩坑的方向。它的底层原理并不复杂:通过 API 定时拉取账户余额与市场利率,依据预设规则
自动
创建或撤销借贷订单,从而替代人工盯盘与重复操作。在工程实践中,运行环境的选择直接影响密钥安全、故障恢复与维护成本。相较服务器方案,在本地 PC 上运行
自动
化脚本能最大限度
控制
API 密钥的暴露面,也降低了入门门槛,适合资金量中等、策略尚在迭代的个人用户。从最小可行脚本起步,逐步补全错误处理、日志审计、幂等
控制
和本地监控,才能让
自动
化
Java SE
62,621
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章