先看效果

上代码(中文命名纯属好玩)

import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;public class 下班  extends JFrame{{try {int hour=17;//时int minute=30;//分int second=0;//秒Dimension   screensize   =   Toolkit.getDefaultToolkit().getScreenSize();int width = (int)screensize.getWidth();this.setBounds(width/2-300,0,580,30);UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");this.setTitle("下班倒计时程序");this.setType(Type.UTILITY);this.setUndecorated(true);this.setOpacity(0.6f);this.setResizable(false);//this.setAlwaysOnTop(true);this.setFocusable(false);this.setDefaultCloseOperation(EXIT_ON_CLOSE); //设置关闭方式 如果不设置的话 似乎关闭窗口之后不会退出程序JPanel jPanel = new JPanel();//得到窗口的容器jPanel.setLayout(null);jPanel.setSize(650,30);JLabel l1 = new JLabel();    //创建一个标签 并设置初始内容l1.setForeground(Color.blue);Font font = new Font(null, Font.BOLD, 30);l1.setFont(font);l1.setBounds(15,0,580,30);JButton b1 = new JButton("×");b1.setBounds(580,0,50,30);b1.addMouseListener(new MouseAdapter() {@Overridepublic void mouseClicked(MouseEvent e) {System.exit(-1);}});jPanel.add(l1);jPanel.add(b1);this.add(jPanel);this.setVisible(true);//设置窗口可见Calendar 日历 = Calendar.getInstance();日历.set(Calendar.HOUR_OF_DAY, hour);日历.set(Calendar.MINUTE, minute);日历.set(Calendar.SECOND, second);SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String 下班时间 = sdf.format(日历.getTime());SimpleDateFormat 格式化 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date 下班时间新格式 = 格式化.parse(下班时间);while (true) {Thread.sleep(1000);Date 当前时间 = new Date();long 相差的时间 = (下班时间新格式.getTime() - 当前时间.getTime()) / 1000;if (相差的时间 > 0) {long 时 = 相差的时间 / 60 / 60;long 分 = (相差的时间 - 时 * 60 * 60) / 60;long 秒 = 相差的时间 - 时 * 60 * 60 - 分 * 60;//会打印出相差3秒l1.setText("下班倒计时: " + 时 + "时" + 分 + "分" + 秒 + "秒" + "  共计" + 相差的时间 + "秒");//System.out.println("倒计时:" + 时 + "时" + 分 + "分" + 秒 + "秒。" + "离下班还差" + 相差的时间 + "秒");}else {Runtime.getRuntime().exec("cmd.exe /C start shutdown -s -t 20");break;}}} catch (Exception e) {e.printStackTrace();}}public static void main(String[] args) throws IOException {new 下班();//下班自动关机,就放开下面代码
//        Runtime.getRuntime().exec("cmd.exe /C start shutdown -s -t 1000");}
}

最新文章

  1. POJ3692 最大点权独立集元素个数
  2. 2008世界大学排名(泰晤士报)Top200
  3. Android面试题(五) --重要
  4. 项目--教师日常办公平台中的活动图
  5. 【算法】BitMap
  6. 数据库并发抢红包_秒杀场景实践之抢红包
  7. typora设置代码不自动换行
  8. map 和 hash_map 的使用方法
  9. HDX(CITRIX ICA)与ICA
  10. dsoframer.ocx java_dsoframer.ocx(java web 操作word) 总结一下
  11. python毕业设计作品基于django框架外卖点餐系统毕设成品(7)中期检查报告
  12. 新趋势下的云计算安全行业前沿认证 | CCSK
  13. MATLAB 图像识别
  14. 2016 server win 假死_Windows10出现假死的几种表现形式及对应解决方案
  15. .net rdlc 自定义函数把数字转换为大写中文
  16. jbX和finss的一些问题
  17. [裴礼文数学分析中的典型问题与方法习题参考解答]4.3.26
  18. 考研:中国科学院地理所历年GIS研究生入学考试真题汇总
  19. 买计算机硬件配置,买笔记本电脑时如果只看硬件配置,那就大错特错了
  20. 统计字符串中字符出现次数以及排序

热门文章

  1. MLCC多层陶瓷电容的直流偏压(静电容量)特性
  2. chunk-vendors.7142f8da.js:1 Uncaught SyntaxError: Unexpected token ‘<‘
  3. 记一次java代码连接orcal数据库查视图报 java.sql.SQLSyntaxErrorException: ORA-00942: 表或视图不存在
  4. 胡说区块链 | what?why?how?where?who?
  5. Mac OS系统下制作ISO映像教程
  6. JS中innerHTML,innerText,outHTML的用法及区别
  7. resultset 转list
  8. 安装IntelliJIDEA的时候提示NSIS ERROR的解决办法
  9. npm ERR path C:\Users\H\Desktop\renren-fast-vue\node_modules\node-sass
  10. 首届昇腾计算产业峰会成功举办,AITISA与华为联合发布“白皮书”