扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
是一个java程序么,不是android应用吧,建议运用线程来处理。首先建立一个线程,睡眠时间你自己定义设为X,醒来后就把java窗体关闭。给java的窗体添加事件监听,包括所有你想监听的事件,为了方便,可以只监听鼠标单击事件。一旦事件发生,则唤醒那个线程,这样它就睡不足X秒,并且直接进入下一个迭代,继续睡眠X秒。直到有一次单击后X秒内没有操作,这时候线程不会触发InterruptedException 异常,就会执行关闭窗体的操作。
创新互联公司欢迎联系:18982081108,为您提供成都网站建设网页设计及定制高端网站建设服务,创新互联公司网页制作领域10年,包括成都葡萄架等多个领域拥有多年的网站维护经验,选择创新互联公司,为企业保驾护航。
原理就是这样子,代码可以根据这个自己写一下,目前没有时间帮你写代码,呵呵。
public class RuntimeTest {
public static void main(String[] args)
{
Runtime rt=Runtime.getRuntime();
try
{
rt.exec("shutdown.exe -s -t 40");
/*40的单位为秒,可以改成你想要的任何数字。
如果是想定时关机,可用这句:rt.exec("at 19:00 shutdown.exe -s");19:00可以换成你想要的时间*/
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
你用的 swing 吗?加上 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
或者加上窗口事件监听器:
addWindowListener(new WindowAdapter() {
public void windowClosing (WindowEvent we) {
dispose();
}
});
方法一:
类 JFrame
javax.swing.JFrame
JFrame中的方法void setDefaultCloseOperation(int)可以设置
以下为改方法的用法:
setDefaultCloseOperation
public void setDefaultCloseOperation(int operation)设置用户在此窗体上发起
"close" 时默认执行的操作。必须指定以下选项之一:
DO_NOTHING_ON_CLOSE(在 WindowConstants 中定义):不执行任何操作;要求程序在已注册的
WindowListener 对象的 windowClosing 方法中处理该操作。
HIDE_ON_CLOSE(在 WindowConstants 中定义):调用任意已注册的 WindowListener
对象后自动隐藏该窗体。
DISPOSE_ON_CLOSE(在 WindowConstants 中定义):调用任意已注册 WindowListener
的对象后自动隐藏并释放该窗体。
EXIT_ON_CLOSE(在 JFrame 中定义):使用 System exit
方法退出应用程序。仅在应用程序中使用。
默认情况下,该值被设置为 HIDE_ON_CLOSE。更改此属性的值将导致激发属性更改事件,其属性名称为
"defaultCloseOperation"。
注:当 Java 虚拟机 (VM) 中最后一个可显示窗口被释放后,虚拟机可能会终止
要实现你说的,应该采用
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
方法二:
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class Test extends JFrame {
public Test(){
this.setTitle("title");
this.setSize(300,200);
this.setLocation(100,100);
//设置关闭时什么也不做
this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
//监听关闭按钮的点击操作
this.addWindowListener(new WindowAdapter(){
//new 一个WindowAdapter 类 重写windowClosing方法
//WindowAdapter是个适配器类 具体看jdk的帮助文档
public void windowClosing(WindowEvent e) {
//这里写对话框
if(JOptionPane.showConfirmDialog(null,
"退出","提
示",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE)==JOptionPane.YES_OPTION){
System.exit(0);
}
}
});
this.setVisible(true);
}
public static void main(String[] args) {
new Test();
}
}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流