⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ctrwds.java

📁 用Java编写的自动关机程序,原理是调用系统的一个自动关机命令
💻 JAVA
字号:
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Checkbox;
import java.awt.CheckboxGroup;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Label;
import java.awt.Panel;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class CtrWDS {

/**
* @param args
*/
public static void main(String[] args) {
   AutoShutWindow a = new AutoShutWindow();
}
}
class AutoShutWindow {
boolean b = true;

Frame f = new Frame("自动关机程序");

Label Lnow = new Label("现在时间");

Label Lafter = new Label("关闭时间");

Label Lxc = new Label("离关机时间还有");

Label Lm = new Label("秒");

Button Byes = new Button("确定");

Button Bno = new Button("取消");

TextField TFnow = new TextField(18);

TextField TFafter = new TextField(18);

TextField TFxc = new TextField(10);

CheckboxGroup group = new CheckboxGroup();

Checkbox guanJi = new Checkbox("关机", group, true);

// Checkbox chongQu = new Checkbox("重启", group, false);

// Checkbox xiuMian = new Checkbox("休眠", group, false);

public AutoShutWindow() {
   // while(b){
   Panel p1 = new Panel();
   TFnow.setEditable(false);
   p1.setLayout(new BorderLayout());
   p1.add(Lnow, BorderLayout.WEST);
   p1.add(TFnow, BorderLayout.EAST);

   Panel p2 = new Panel();
   TFafter.setText(new SimpleDateFormat("yyyy年MM月dd日-HH:mm:ss")
     .format(new Date()));
   p2.setLayout(new BorderLayout());
   p2.add(Lafter, BorderLayout.WEST);
   p2.add(TFafter, BorderLayout.EAST);

   Panel pB = new Panel();
   pB.setLayout(new BorderLayout());
   pB.add(Byes, BorderLayout.WEST);
   pB.add(Bno, BorderLayout.EAST);

   Panel pp = new Panel();
   pp.setLayout(new BorderLayout());
   pp.add(Lxc, BorderLayout.WEST);
   pp.add(TFxc);
   pp.add(Lm, BorderLayout.EAST);

   Panel pCb = new Panel();
   pCb.setLayout(new BorderLayout());
   pCb.add(guanJi, BorderLayout.WEST);
   // pCb.add(chongQu);
   // pCb.add(xiuMian, BorderLayout.EAST);

   FlowLayout f2 = new FlowLayout();
   f.setLayout(f2);
   f.add(p1);
   f.add(p2);
   f.add(pCb);
   f.add(pp);
   f.add(pB);

   f.setBounds(200, 200, 220, 180);
   f.setVisible(true);
   f.setResizable(false);

   class ClockThread extends Thread { // 动态显示时间
    String nowTime;

    public ClockThread() {
    }

    public void run() {
     while (true) {
      nowTime = new SimpleDateFormat("yyyy年MM月dd日-HH:mm:ss")
        .format(new Date());
      TFnow.setText(nowTime);
      try {
       Thread.sleep(1000);
      } catch (InterruptedException e) {
       e.printStackTrace();
      }
     }
    }
   }
   new ClockThread().start();

   f.addWindowListener(new WindowAdapter() {
    public void windowClosing(WindowEvent e) {
     System.exit(0);
    }
   });
   final boolean b = true;
   Byes.addActionListener(new ActionListener() {

    public void actionPerformed(ActionEvent e) {
     String str = TFafter.getText();
     SimpleDateFormat df = new SimpleDateFormat(
       "yyyy年MM月dd日-HH:mm:ss");
     Date d = null;

     final long lafter, jl;

     try {
      d = df.parse(str);
     } catch (ParseException e1) {
      TFxc.setText("时间格式错误");
      e1.printStackTrace();
     }
     Calendar cal = Calendar.getInstance();
     cal.setTime(d);
     lafter = cal.getTimeInMillis();

     class ClockThread extends Thread { // 动态显示时间
      String nowTime;

      public ClockThread() {
      }

      public void run() {
       while (b) {
        Calendar nowT = Calendar.getInstance();// 获取今天到公元的时间
        nowT.setTime(new Date());
        long nowJl = nowT.getTimeInMillis();
        long jl = (lafter - nowJl) / 1000;
        nowTime = new SimpleDateFormat(
          "yyyy年MM月dd日-HH:mm:ss").format(new Date());
        TFnow.setText(nowTime);
        try {
         Thread.sleep(1000);
        } catch (InterruptedException e) {
         e.printStackTrace();
        }
        System.out.println(jl);
        TFxc.setText(String.valueOf(jl));
        TFxc.setEditable(false);

        if (jl == 0) {
         try {
          Runtime.getRuntime().exec("shutdown -S ");
         } catch (IOException e) {
          e.printStackTrace();
         }
        }
       }

      }

     }

     new ClockThread().start();

    }
   }

   );
   Bno.addActionListener(new ActionListener(){

    public void actionPerformed(ActionEvent e) {
     System.exit(0);
    }
   
   });
}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -