導航:首頁 > 編程語言 > 定時關機java

定時關機java

發布時間:2023-04-02 17:15:38

⑴ 如何用java寫一個定時關機的小程序

Runtime run=Runtime.getRuntime();
try {
run.exec("Shutdown.exe -s -t "兆行+t);
} catch (IOException e) {
e.printStackTrace();
}

/蔽猜臘/T是時間宏滑 秒

⑵ java定時關機問題

以下是給你修陵正答改過的 ,清粗還加了一個取消尺慧功能,看看。

import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import java.util.*;
import javax.swing.*;

public class ClockFrame extends JFrame {
private JComboBox hourBox, minuteBox, secondBox;

private int hour, minute, second, totalSeconds, currentSeconds;

private long argue;

private GregorianCalendar calendar;

private boolean change = true;

private static final int WIDTH = 200;

private static final int HEIGHT = 150;

public ClockFrame() {

setTitle("關機定時");
setSize(200, 150);

Container contentPanel = getContentPane();

JPanel timePanel = new JPanel();
timePanel.setLayout(new GridLayout(4, 2));

JLabel minuteLable = new JLabel("設置分鍾");
timePanel.add(minuteLable);
minuteBox = new JComboBox();
timePanel.add(minuteBox);
for (int i = 0; i < 60; i++) {
minuteBox.addItem(i);
}
minuteBox.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
minute = ((Integer) minuteBox.getSelectedItem()).intValue();
}
});

JLabel secondLable = new JLabel("設置秒鍾");
timePanel.add(secondLable);
secondBox = new JComboBox();
timePanel.add(secondBox);
for (int i = 0; i < 60; i++) {
secondBox.addItem(i);
}
secondBox.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
second = ((Integer) secondBox.getSelectedItem()).intValue();
}
});
contentPanel.add(timePanel, BorderLayout.CENTER);

JButton check = new JButton("確定");
contentPanel.add(check, BorderLayout.SOUTH);
check.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
JButton check=(JButton) evt.getSource();
if (check.getText().equals("確定")) {
calendar = new GregorianCalendar();
int currentSeconds = calendar.get(Calendar.HOUR_OF_DAY)
* 3600 + calendar.get(Calendar.MINUTE) * 60
+ calendar.get(Calendar.SECOND);
totalSeconds = hour * 3600 + minute * 60 + second;

if (totalSeconds - currentSeconds >= 0) {
argue = (totalSeconds - currentSeconds) * 1000;
JOptionPane.showMessageDialog(ClockFrame.this,
"您設置的時間為 " + hour + ":" + minute + ":" + second
+ "\n程序將在後台運行,並在此時自動關閉計算機!", "設置成功",
JOptionPane.INFORMATION_MESSAGE);
hideFrame();
}
try {
// Thread.sleep(argue);//這句沒用
Runtime.getRuntime().exec(
"shutdown.exe -s -c \"我要關機了噢!不好意思!\" -t "
+ totalSeconds);
check.setText("取消");
} catch (Exception e) {
e.printStackTrace();
}
}else{
try {
Runtime.getRuntime().exec("shutdown.exe -a");
check.setText("確定");
} catch (Exception e) {
e.printStackTrace();
}
}
}
});
}

private void hideFrame() {
this.setVisible(false);
}

public static void main(String[] args) {
JFrame frame = new ClockFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationByPlatform(true);
frame.show();
}
}

⑶ java語言的自動關機的代碼

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();
}
}

}

⑷ 如何用Java編寫一個定時開關機軟體(pc版)

定時開機是BIOS設置的。
定時關機這個好寫。。。。
啟動時檢測一次當前時間,算出距離目標時間的值。
然後線程休眠這么長時間。
然後執行控制台命令,調用windows系統自帶的關機命令就可以了。

java調用控制台的關機命令如下
Runtime.getRuntime().exec("shutdown -s");

lang包下的,直接可以用~
系統是winXP+JVM1.5

⑸ java實現關機

import java.util.*;
import java.io.*;
class Shutdown
{
public static void main(String[] args)
{
System.out.println("Shutdown in 10s");
try{
Runtime.getRuntime().exec("cmd /c Shutdown -t 10");
}catch(IOException e){}

}
}

上面這個程序實現你所說的定時10秒關機

至於定時開機...你告訴我怎麼在關機的狀態下執行我的程序,我就把開機的程序給你寫出來.

⑹ 怎樣用java實現windows每日定時關機

shutdown -s -t 3600 (3600是秒,可以頃晌帶自雀蘆己隨便該)
shutdown -a 是取消關機謹悶命令

⑺ JAVA語句怎麼實現讓電腦定時開機和定時關機

要實現電腦的定時開機功能,首先應確定電腦使用的電源是ATX電源,而且主板支持時鍾喚醒功能,而且操作系統是Windows 98或以上版本的操作系統,然後在開機時進入BIOS設置,選擇「Power Management Setup」項後,將「Resume By Alarm」項設為打開狀態,即設置為「Enabled」。然後在時間設定中的「Data」項中選0,在「Time」中設定定時開機的時間,設置好後按【F10】鍵保存退出,即可實現電腦定時開機功能。需注意的是不要將電腦的電源插頭撥了。
定時關機:首先在「開始」菜單點擊「運行」,輸入「at xx:xx shoutdown -s」 可以實現定時關機,xx:xx指的是具體關機時間。還可以輸入「shoutdown.exe -s -t xxxx」。xxxx指的是欲多久後關機的秒數。如果運行程序後想取消,則輸入「shutdown -a」即可(注意以上輸入時不包括引號)。本人在上網的時候運用了此招,就再也沒發生上網失控的現象了。 如果要在Windows 2000下運行的話,只需將Windows XP c:\windows\system32目錄下的「shutdown.exe」文件拷貝到Windows 2000下的c:\winnt\system32目錄下即可。

⑻ java 窗口 倒計時 關閉

package mainWindow;

import java.awt.*;
import javax.swing.*;

import java.util.*;
import java.io.IOException;
import java.awt.event.*;
import javax.swing.event.*;

/備改*程序文件:ShutDownWindow.java
*程序功能:程序的定時關機窗體
*更新時間:2009.10.26
*/

public class ShutDownWindow extends JFrame implements ActionListener,DocumentListener{
/**
*
*/
private static final long serialVersionUID = 2084958924713854452L;
JTextField 時,分,秒;
JLabel 現在時間,設置時,設置分,設置秒;
JButton 關機,重啟,注銷,清空,取消;
Box 左,中,右,中部; //Box是使用 BoxLayout 對象作為其布局管理器的一個輕量級容器
JPanel 底部;
Container 容器;
int 標志,nh,nm,ns,wh,wm,ws;

ShutDownWindow(String s){
super(s);
setVisible(true);
setResizable(false); //設置窗體是否允許用戶調整窗體大小
setSize(300,200);
Dimension 屏幕=Toolkit.getDefaultToolkit().getScreenSize(); //獲得屏幕大小
setLocation(屏幕.width-300,0);

現在時間=new JLabel();
現在時間.setForeground(Color.RED);
現在時間.setText(nowTime());

時=new JTextField(4);
時.setForeground(Color.BLUE);
時.setText(null);

分=new JTextField(4);
分.setForeground(Color.BLUE);
分.setText(null);

秒=new JTextField(4);
秒.setForeground(Color.BLUE);
秒.setText(null);

設置時=new JLabel("設定小時");
設置分=new JLabel("設定分鍾");
設置秒=new JLabel("設定秒鍾");

關機=new JButton("關機");
重啟=new JButton("重啟");
注銷=new JButton("注銷");
取消=new JButton("取消");
清空=new JButton("清空"兄胡);

關機.setEnabled(false);
重啟.setEnabled(false);
取消.setEnabled(false);
注銷.setEnabled(false);
清空.setEnabled(false);//按鈕羨滾攔不可用

中部=Box.createHorizontalBox(); //創建一個從左到右顯示其組件的 Box
validate();
容器=getContentPane();
容器.setLayout(new BorderLayout());

左=Box.createVerticalBox(); //創建一個從左到右顯示其組件的 Box
中=Box.createVerticalBox();
右=Box.createVerticalBox();

左.add(設置時);
左.add(Box.createVerticalStrut(20)); //創建一個不可見的、固定高度的組件
左.add(設置分);
左.add(Box.createVerticalStrut(20));
左.add(設置秒);
中.add(時);
中.add(Box.createVerticalStrut(9));
中.add(分);
中.add(Box.createVerticalStrut(9));
中.add(秒);
右.add(關機);
右.add(Box.createVerticalStrut(10));
右.add(重啟);
右.add(Box.createVerticalStrut(10));
右.add(注銷);
validate(); //使用 validate 方法會使容器再次布置其子組件
中部.add(左);
中部.add(Box.createHorizontalStrut(15));
中部.add(中);
中部.add(Box.createHorizontalStrut(15));
中部.add(右);
中部.validate();

底部=new JPanel();
底部.setBackground(Color.GREEN);
底部.add(清空);
底部.add(取消);
底部.validate();

容器.add(現在時間,BorderLayout.NORTH);
容器.add(中部,BorderLayout.CENTER);
容器.add(底部,BorderLayout.SOUTH);
容器.validate();
容器.setBackground(Color.GRAY);

關機.addActionListener(this); //為各按鈕標簽添加監聽對象
重啟.addActionListener(this);
注銷.addActionListener(this);
取消.addActionListener(this);
清空.addActionListener(this);
時.getDocument().addDocumentListener(this);
分.getDocument().addDocumentListener(this);
秒.getDocument().addDocumentListener(this);

//******************* 匿名線程,實現時間動態顯示 *******************//

new Thread(new Runnable() {
public void run()
{
while(true) //為了實時監聽所以得用死循環
{
try
{
Thread.sleep(1000); //條件合適後線程休眠1秒鍾
}
catch(Exception e)
{
e.printStackTrace(); //輸入異常到指定地方
}
nowTime(); //調用nowTime()方法獲得當前時間
}
}
}).start(); //調用start()後線程處於就緒狀態

}

//******************** 得到當前系統時間並顯示 *********************//

public String nowTime(){
Calendar 日歷=Calendar.getInstance(); //使用默認時區和語言環境獲得一個日歷
int ny=日歷.get(Calendar.YEAR);
int nmo=日歷.get(Calendar.MONTH)+1; //因為月是從0開始算起的,所以得加上1
int nd=日歷.get(Calendar.DAY_OF_MONTH);
nh=日歷.get(Calendar.HOUR_OF_DAY);
nm=日歷.get(Calendar.MINUTE);
ns=日歷.get(Calendar.SECOND);
String ss=new String(" 現在是"+ny+"年"+nmo+"月"+nd+"日 "+nh+"時"+nm+"分"+ns+"秒");
現在時間.setText(ss); //把獲得的時間賦給「現在時間」標簽
return ss;
}

//************** 響應Document事件,需重寫三個方法 *************//

public void changedUpdate(DocumentEvent e){

if(時.getText().equals("")||分.getText().equals("")||秒.getText().equals(""))
{
關機.setEnabled(false);
重啟.setEnabled(false);
清空.setEnabled(false);
注銷.setEnabled(false);
取消.setEnabled(false);
}
else
{
關機.setEnabled(true);
重啟.setEnabled(true);
清空.setEnabled(true);
注銷.setEnabled(true);
}
}
public void removeUpdate(DocumentEvent e){
changedUpdate(e);
}
public void insertUpdate(DocumentEvent e){
changedUpdate(e);
}

//*********** 響應事件要執行的方法 *****************//

public void 關機程序(){ //關機

try{Runtime.getRuntime().exec("shutdown.exe -s -t 5");}
catch(IOException e){
JOptionPane.showMessageDialog(this,"執行失敗!");
}
}
public void 重啟程序(){ //重啟

try{Runtime.getRuntime().exec("shutdown.exe -r -t 5");}
catch(IOException e){
JOptionPane.showMessageDialog(this,"執行失敗!");
}
}
public void 注銷程序(){ //注銷

try{Runtime.getRuntime().exec("shutdown.exe -l");}
catch(IOException e){
JOptionPane.showMessageDialog(this,"執行失敗!");
}
}
public void 取消程序(){ //取消

try{Runtime.getRuntime().exec("shutdown.exe -a");}
catch(IOException e){
JOptionPane.showMessageDialog(this,"執行失敗!");
}

}

//*****************時間到就執行的方法**************//

public void 到時執行(){
if(nh==wh && nm==wm && ns==ws){ //如果設定的時間和現在時間相同就執行
if(標志==1){
關機程序();
}
if(標志==2){
重啟程序();
}
if(標志==3){
注銷程序();
}
}
}

//****************** 響應各按鈕的單擊事件 ****************//

public void actionPerformed(ActionEvent e)
{

wh=Integer.parseInt(時.getText());
wm=Integer.parseInt(分.getText());
ws=Integer.parseInt(秒.getText());
if(e.getSource()==關機){
關機.setEnabled(false);
重啟.setEnabled(false);
注銷.setEnabled(false);
標志=1;
if(wh>=0&&wh<=23&&wm>=0&&wm<=59&&ws>=0&&ws<=59){
動作();
}
else{
JOptionPane.showMessageDialog(this,"時間設置滿足:0=<小時<24,0=<分鍾<60,0=<秒<60!","溫馨提示",JOptionPane.WARNING_MESSAGE);
時.requestFocus(); //獲得焦點
}
}
if(e.getSource()==重啟){
關機.setEnabled(false);
重啟.setEnabled(false);
注銷.setEnabled(false);
標志=2;
if(wh>=0&&wh<=23&&wm>=0&&wm<=59&&ws>=0&&ws<=59){
動作();
}
else
{
JOptionPane.showMessageDialog(this,"時間設置滿足:0=<小時<24,0=<分鍾<60,0=<秒<60!","溫馨提示",JOptionPane.WARNING_MESSAGE);
時.requestFocus(); //獲得焦點

}
}
if(e.getSource()==注銷){
關機.setEnabled(false);
重啟.setEnabled(false);
注銷.setEnabled(false);
標志=3;
if(wh>=0&&wh<=23&&wm>=0&&wm<=59&&ws>=0&&ws<=59){
動作();
}
else
{
JOptionPane.showMessageDialog(this,"時間設置滿足:0=<小時<24,0=<分鍾<60,0=<秒<60!","溫馨提示",JOptionPane.WARNING_MESSAGE);
時.requestFocus(); //獲得焦點

}
}
if(e.getSource()==取消){
取消程序();
取消.setEnabled(false);
關機.setEnabled(true);
重啟.setEnabled(true);
注銷.setEnabled(true);
}
if(e.getSource()==清空){
時.setText("");
分.setText("");
秒.setText("");
時.requestFocus();
清空.setEnabled(false);
}
}
public void 監聽()//時間一到就執行動作
{
new Thread(new Runnable()
{
public void run()
{
while(true)
{
try
{
Thread.sleep(1000);
}
catch(Exception e)
{
e.printStackTrace();
}
到時執行();//關機或重啟或注銷
}
}
}).start();
}
public void 動作() //檢查用戶輸入是否正確,在正確情況下時間到便執行
{
if(Test()==false)
{
JOptionPane.showMessageDialog(this,"時間設定錯誤,應設定在現在之後!");
時.requestFocus();
}
else{
JOptionPane.showMessageDialog(this,"時間設定成功!");
取消.setEnabled(true); //定義時間成功後取消按鈕可點擊
監聽();
}
}
public boolean Test(){
boolean b=true;
if(wh<nh) //判斷當前小時是否小於設定小時
b=false;
else if(wh==nh)
{
if(wm<nm) //判斷當前分鍾是否小於設定分鍾
b=false;
else if(wm==nm)
{
if(ws<ns+5) //要有延遲
b=false;
}
}

return b;
}
}

閱讀全文

與定時關機java相關的資料

熱點內容
煙台編程積木教育環境好不好 瀏覽:214
python優秀代碼 瀏覽:620
androidtop命令 瀏覽:455
你平時怎麼排解壓力 瀏覽:68
表格中的文件夾怎樣設置 瀏覽:476
em78單片機 瀏覽:960
splitjava空格 瀏覽:248
電腦怎麼谷歌伺服器地址 瀏覽:515
nx自定義工具啟動宏命令 瀏覽:101
程序員怎麼解決無法訪問互聯網 瀏覽:303
java訪問本地文件 瀏覽:747
瓦斯琪伺服器怎麼用 瀏覽:22
安卓主題用什麼app 瀏覽:747
修改伺服器pci地址空間 瀏覽:321
程序員將來去哪裡 瀏覽:966
虛幻5創建c無法編譯 瀏覽:189
javaweb項目設計 瀏覽:407
國家反詐app緊急聯系人怎麼填 瀏覽:191
單片機旋轉led 瀏覽:340
杜洋單片機官網 瀏覽:467