扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
1. 弄明白系统的计划任务需要一个什么样的文件, exe文件, 还是可执行的jar包也可以
成都创新互联公司专业为企业提供思礼网站建设、思礼做网站、思礼网站设计、思礼网站制作等企业网站建设、网页设计与制作、思礼企业网站模板建站服务,10年思礼做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
2. 写一个java程序, 取当前时间, 弹出提示框显示, 然后根据要求1打包成exe或者jar
3. 按照设置系统计划任务的要求去设置定时执行这个程序
另外, 如果你不用什么计划任务的话, 你可以查查java的Timer类和TimerTask类, 是java用来定时执行代码用的类
JAVA弹窗,有下面常见的2种方法实现:
通过JDialog(模式窗口) 类来实现.里面的写法类似JFrame
重点方法提示: setModal(true);
//当设置为true表示,如果不关闭这个弹窗,那么主界面的其他组件都无法操作,该弹窗置于其他窗口的前面
//当设置为false表示,可以绕开本弹窗,对主界面的其他组件进行操作
优点: 功能强大, 扩展性强
缺点: 代码量大.
示例图
通过JOptionPane(提示框) 来实现
效果图如下
优点: 代码量少,简单,方便, 普通场景已经够用
缺点: 扩展性不够, 复杂逻辑难以实现.
下面写一个具体案例
场景:当用于对文本域的文字,进行操作后,那么退出时,提示用户, 是否要保存已经更改后的内容. 如果用户没有修改内容,那么不用提示
重点代码
addDocumentListener--用于实现对文本内容发生改变时进行响应
addWindowListener---用于实现对窗口进行操作时进行响应
完整代码如下
import java.awt.Font;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class JDDemo extends JFrame implements DocumentListener,WindowListener{
JTextArea jta;
boolean flag;
public JDDemo() {
jta = new JTextArea();//文本域
jta.setText("床前明月光");//文本域的文字--可以通过IO加载txt文档的文字
jta.setFont(new Font("宋体",Font.BOLD, 20));//文本域的字体
jta.setLineWrap(true);//设置自动换行
jta.getDocument().addDocumentListener(this);//添加文档变化事件的响应.比如修改,删除等
JScrollPane jsp = new JScrollPane(jta);//滚动面板(当文字太多时,显示滚动条)
add(jsp);
setTitle("主窗口");//标题
setSize(300, 260);//大小
setLocationRelativeTo(null);//居中
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);//点击窗口的关闭按钮时,执行windowClosing的代码
addWindowListener(this);
setVisible(true);//窗口可见
}
public static void main(String[] args) {
new JDDemo();
}
//实现WindowListener接口,需要重写下面的6个方法, windowClosing专门处理关闭时的方法
public void windowOpened(WindowEvent e) {
}
public void windowClosing(WindowEvent e) {
if(flag){
int n = JOptionPane.showConfirmDialog(null, "已经更改了内容,需要保存后再退出吗?", "提示",JOptionPane.YES_NO_OPTION);
//n等于-1表示关闭了弹出的对话框等情况的默认值
//n等于0(JOptionPane.YES_OPTION)表示选择了Yes
//n等于1(JOptionPane.NO_OPTION)表示选择了No
if(n==JOptionPane.YES_OPTION){
//把文字保存到文件的代码省略...
System.out.println("正在使用IO进行保存..ing");
closeFrame();//关闭窗口并退出
}else if(n==JOptionPane.NO_OPTION){
System.out.println("放弃保存修改.马上退出");
closeFrame();
}
}else{
closeFrame();
}
}
public void windowClosed(WindowEvent e) {
}
public void windowIconified(WindowEvent e) {
}
public void windowDeiconified(WindowEvent e) {
}
public void windowActivated(WindowEvent e) {
}
public void windowDeactivated(WindowEvent e) {
}
//文档事件,有下面三个,如果触发其中一个,都可以认为修改了文档,所以需要在退出时进行提示,是否保存
public void insertUpdate(DocumentEvent e) {//插入
flag=true;
}
public void removeUpdate(DocumentEvent e) {//删除
flag=true;
}
public void changedUpdate(DocumentEvent e) {//改变
flag=true;
}
//关闭窗口的方法
public void closeFrame(){
this.setVisible(false);//窗口不可见
this.dispose();//窗口销毁
System.exit(0);//JVM虚拟机退出
}
}
运行效果图:
利用java的管道重定义。核心代码如下,剩下自己组织
Process process = Runtime.getRuntime().exec("cmd");
PrintWriter out = new PrintWriter(process.getOutputStream());
String cmd ; //你的cmd命令
InputStream is = process.getInputStream() //cmd返回出来的信息
out.println(cmd); //输入你的命令
out.flush(); //写到控制台
参数解释
设置时间 Then setTime(Then getTime() + * * * )
mylove/(过渡网页)中的//弹出网页/ 是要弹出的网页
scroll: (滚动条)status: (状态栏)help: (帮助按钮)toolbar= (工具栏)resizable: (是否可以用鼠标拖动改变大小)dialogWidth: px(宽度)dialogHeight: px(高度) (延迟弹出的时间 单位 毫秒 秒= 毫秒)
! 弹出广告 script language= JavaScript function Get(){var Then = new Date() Then setTime(Then getTime() + * * * )var cookieString = new String(okie)var cookieHeader = Cookie = var beginPosition = cookieString indexOf(cookieHeader)if (beginPosition != ){ } else { okie = Cookie =POPWIN;expires= + Then toGMTString() focusid=setTimeout( focus();window showModelessDialog( scroll: ;status: ;help: ;resizable: ;d ialogWidth: px;dialogHeight: px ) )window focus();}}Get();/script! 弹出结束
的内容
script language= javascript ! window open(//弹出网页/ );// /scriptscript LANGUAGE= JavaScript ! setTimeout( window close(); )// /script
lishixinzhi/Article/program/Java/JSP/201311/19415
在body的noload里面有个setInterval定时器:
body style="height: 700px; overflow: hidden;" onload="setInterval('timedAlert()',10000)"
js脚本:
//ajax判断是否有提醒数据
function timedAlert(){
$.ajax({
type: "get",
url: "${basePath}/plugins/km/headlink/checkNoteCount.jspx",
dataType: "text",
cache: false,
success: function(data){
alert(data);
if(data=='0'){
alert(1);//你的代码
}else{
alert(22);
}
}
});
}
便签吧?大概的思路,希望对你有帮助!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流