1. 弄明白系統(tǒng)的計劃任務需要一個什么樣的文件, exe文件, 還是可執(zhí)行的jar包也可以
成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供思禮網(wǎng)站建設、思禮做網(wǎng)站、思禮網(wǎng)站設計、思禮網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、思禮企業(yè)網(wǎng)站模板建站服務,10年思禮做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。
2. 寫一個java程序, 取當前時間, 彈出提示框顯示, 然后根據(jù)要求1打包成exe或者jar
3. 按照設置系統(tǒng)計劃任務的要求去設置定時執(zhí)行這個程序
另外, 如果你不用什么計劃任務的話, 你可以查查java的Timer類和TimerTask類, 是java用來定時執(zhí)行代碼用的類
JAVA彈窗,有下面常見的2種方法實現(xiàn):
通過JDialog(模式窗口) 類來實現(xiàn).里面的寫法類似JFrame
重點方法提示:?setModal(true);
//當設置為true表示,如果不關閉這個彈窗,那么主界面的其他組件都無法操作,該彈窗置于其他窗口的前面
//當設置為false表示,可以繞開本彈窗,對主界面的其他組件進行操作
優(yōu)點: 功能強大, ?擴展性強
缺點: 代碼量大.
示例圖
通過JOptionPane(提示框) 來實現(xiàn)
效果圖如下
優(yōu)點: 代碼量少,簡單,方便, 普通場景已經(jīng)夠用
缺點: 擴展性不夠, 復雜邏輯難以實現(xiàn).
下面寫一個具體案例
場景:當用于對文本域的文字,進行操作后,那么退出時,提示用戶, 是否要保存已經(jīng)更改后的內(nèi)容. ?如果用戶沒有修改內(nèi)容,那么不用提示
重點代碼
addDocumentListener--用于實現(xiàn)對文本內(nèi)容發(fā)生改變時進行響應
addWindowListener---用于實現(xiàn)對窗口進行操作時進行響應
完整代碼如下
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);//點擊窗口的關閉按鈕時,執(zhí)行windowClosing的代碼
addWindowListener(this);
setVisible(true);//窗口可見
}
public?static?void?main(String[]?args)?{
new?JDDemo();
}
//實現(xiàn)WindowListener接口,需要重寫下面的6個方法,?windowClosing專門處理關閉時的方法
public?void?windowOpened(WindowEvent?e)?{
}
public?void?windowClosing(WindowEvent?e)?{
if(flag){
int?n?=?JOptionPane.showConfirmDialog(null,?"已經(jīng)更改了內(nèi)容,需要保存后再退出嗎?",?"提示",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)?{
}
//文檔事件,有下面三個,如果觸發(fā)其中一個,都可以認為修改了文檔,所以需要在退出時進行提示,是否保存
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(); //寫到控制臺
參數(shù)解釋
設置時間 Then setTime(Then getTime() + * * * )
mylove/(過渡網(wǎng)頁)中的//彈出網(wǎng)頁/? 是要彈出的網(wǎng)頁
scroll: (滾動條)status: (狀態(tài)欄)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! 彈出結束
的內(nèi)容
script language= javascript ! window open(//彈出網(wǎng)頁/ );// /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判斷是否有提醒數(shù)據(jù)
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);
}
}
});
}
便簽吧?大概的思路,希望對你有幫助!