在好例子网,分享、交流、成长!
您当前所在位置:首页Java 开发实例Android平台开发 → java编写的关机程序

java编写的关机程序

Android平台开发

下载此实例
  • 开发语言:Java
  • 实例大小:0.41M
  • 下载次数:28
  • 浏览次数:197
  • 发布时间:2019-10-27
  • 实例类别:Android平台开发
  • 发 布 人:grit121212
  • 文件格式:.rar
  • 所需积分:1
 相关标签: java 程序 关机

实例介绍

【实例简介】

注:运行需要配置jdk环境

【实例截图】

from clipboard

新用户求点积分下载资源,还请各位大佬多多支持

【核心代码】

 package ui;
 
 import fileoption.FileOption;
 import java.awt.Color;
 import java.awt.Font;
 import java.awt.GridLayout;
 import java.awt.Image;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 import java.awt.event.KeyEvent;
 import java.awt.event.KeyListener;
 import java.io.IOException;
 import javax.imageio.ImageIO;
 import javax.swing.JFrame;
 import javax.swing.JLabel;
 import javax.swing.JPanel;
 import javax.swing.JTextField;
 import javax.swing.border.TitledBorder;
 import rbutton.RButton;
 import thread.TimeCountThread;
 
 public class UI extends JFrame
 {
   private static final long serialVersionUID = 1L;
   private Integer time = null;
 
   private JPanel panelChoose = new JPanel(new GridLayout(4, 1));
   private JPanel panelFunc = new JPanel(new GridLayout(2, 1));
   private JPanel countTime = new JPanel();
 
   private static UI ui = new UI();
   private FileOption fileoption = FileOption.initFileOption();
 
   private boolean limit = true;
 
   private int flag = 0;
   private TimeCountThread thread = new TimeCountThread();
 
   public static UI initUI() { return ui; }
 
 
   private UI()
   {
     try
     {
       Image img = ImageIO.read(super.getClass().getResource("/img/1.png"));
       setIconImage(img);
       setIconImage(img); } catch (IOException e) {
       e.printStackTrace();
     }
 
     setAlwaysOnTop(true);
     setTitle("定时关机");
     setSize(300, 200);
     setResizable(false);
     setLocationRelativeTo(null);
     putsetPanel();
     add(this.panelChoose, "West");
     addFunc();
     add(this.panelFunc, "Center");
     setVisible(true);
     setDefaultCloseOperation(3);
   }
 
   private void addBound(String title, JPanel panel, int fontSize)
   {
     TitledBorder titl = new TitledBorder(title);
     titl.setTitleFont(new Font("宋体", 0, fontSize));
     titl.setTitleColor(Color.GRAY);
     panel.setBorder(titl);
   }
 
   private void putsetPanel()
   {
     addBound("请选择", this.panelChoose, 12);
 
     RButton shutDown = new RButton("关       机");
     boundPanel(shutDown);
     shutDown.addActionListener(new ActionListener()
     {
       public void actionPerformed(ActionEvent e) {
         UI.this.showScreen("即将关机..");
         String content = "shutdown -s -t 0";
         UI.this.fileoption.listenBtn(FileOption.shutdwnFile, content);
         System.exit(0);
       }
     });
     RButton reboot = new RButton("立即重启");
     boundPanel(reboot);
     reboot.addActionListener(new ActionListener()
     {
       public void actionPerformed(ActionEvent e) {
         UI.this.showScreen("重启中..");
         String content = "shutdown -r -t 0";
         UI.this.fileoption.listenBtn(FileOption.rebootFile, content);
         System.exit(0);
       }
     });
     RButton sleepDown = new RButton("休       眠");
     boundPanel(sleepDown);
     sleepDown.addActionListener(new ActionListener()
     {
       public void actionPerformed(ActionEvent e) {
         UI.this.showScreen("即将进入休眠状态..");
         String content = "shutdown -h";
         UI.this.fileoption.listenBtn(FileOption.sleepFile, content);
         System.exit(0);
       }
     });
     RButton cancelShut = new RButton("取消关机");
     boundPanel(cancelShut);
     cancelShut.addActionListener(new ActionListener()
     {
       public void actionPerformed(ActionEvent e) {
         UI.this.thread.setFlagTrue();
 
         if (UI.this.flag == 0) {
           UI.this.showScreen("还没设置关机哟!(?????) ");
         } else {
           UI.this.showScreen("已取消!\\(^o^)/ ");
           String content = "shutdown -a";
           UI.this.fileoption.listenBtn(FileOption.cancelFile, content);
           UI.this.setDefaultCloseOperation(3);
           UI.this.limit = true;
           UI.this.flag = 0;
         }
       }
     });
   }
 
   private void showScreen(String msg)
   {
     this.countTime.removeAll();
     JLabel label = new JLabel(msg);
     label.setFont(getFont());
     this.countTime.add(label);
     this.countTime.validate();
     this.countTime.repaint();
   }
 
   private void boundPanel(RButton button)
   {
     JPanel btn = new JPanel();
     btn.add(button);
     this.panelChoose.add(btn);
   }
 
   private void addFunc()
   {
     this.panelFunc.add(setShutDownTime());
     setCountTime();
     this.panelFunc.add(this.countTime);
   }
 
   private JPanel setShutDownTime()
   {
     JPanel set = new JPanel();
     addBound("定时关机(s)", set, 10);
      JTextField text = new JTextField(4);
     JPanel panel = new JPanel();
     panel.add(text);
     set.add(panel);
     text.addKeyListener(new KeyListener()
     {
       public void keyPressed(KeyEvent e) {
         if (e.getKeyCode() == 10)
           UI.this.packOption(text);
       }
 
       public void keyTyped(KeyEvent e)
       {
       }
 
       public void keyReleased(KeyEvent e)
       {
       }
     });
     JLabel s = new JLabel("秒");
     s.setFont(getFont());
     panel = new JPanel();
     panel.add(s);
     set.add(panel);
 
     RButton queRen = new RButton("确认");
          

       });
     panel = new JPanel();
     panel.add(queRen);
     set.add(panel);
     return set;
   }
 
   private void packOption(JTextField text)
   {
     try
     {
       queRenBtnListen(text);
     }
     catch (Exception e1)
     {
       showScreen(e1.getMessage());
     }
   }
 
   private void queRenBtnListen(JTextField text)
     throws Exception
   {
     if (!this.limit) {
       throw new Exception("请不要重复确认哦!(?ˉ?ˉ?) ");
     }
     if (this.limit) {
       judgeText(text.getText());
       int time = Integer.valueOf(text.getText()).intValue();
       this.time = Integer.valueOf(time);
       setDefaultCloseOperation(0);
       String content = "shutdown -s -t "   time;
       this.fileoption.listenBtn(FileOption.shutdwnFile, content);
 
       this.thread.ui(this);
       if (!this.thread.isAlive()) {
         this.thread.start();
       }
       synchronized (this.thread.syncObj) {
         this.thread.time = this.time;
         this.thread.setFlagFalse();
         this.thread.syncObj.notify();
       }
       this.limit = false;
       this.flag = 1;
     }
   }
 
   private void judgeText(String text)
     throws Exception
   {
     if (("".equals(text.replace(" ", ""))) || (text == null)) {
       throw new Exception("输入不能为空哟!o( ̄ε ̄*) ");
     }
     String regex = "^\\d{1,4}";
     if (!text.matches(regex))
       throw new Exception("请输入4位数以内的数字!(?????) ");
   }
 
   private void setCountTime()
   {
     addBound("提示", this.countTime, 10);
   }
 
   private void showShutDownTime(Integer count)
   {
     JPanel panelTime = new JPanel();
     JLabel label = new JLabel("还有 "   count   " s关机");
     label.setFont(getFont());
     this.countTime.removeAll();
     panelTime.add(label);
     this.countTime.add(panelTime);
     this.countTime.validate();
     this.countTime.repaint();
   }
 
   public void time(Integer count)
   {
     showShutDownTime(count);
   }
 
   public Integer getTime()
   {
     return this.time;
   }
 }

标签: java 程序 关机

实例下载地址

java编写的关机程序

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警