上班学习休息提示器小程序(完整代码和注释以及jar转exe方法)


  • 主要使用了Timer和TimerTask来实现,每45分钟提示一次,点击relax触发电脑锁屏,点击dont是关闭弹窗不影响程序运行,不管他的话60s后自动关闭弹窗。打完jar包后,使用exe4j来转exe,名称图标可自定义。下面是效果图和完整的代码(带详细注释),可以根据自己喜好修改:
    public static void main(String[] args) {
        Timer timer = new Timer();
        timer.schedule(new TimerTask() {
            public void run() {
                //设置一个漂漂的边框
                JFrame.setDefaultLookAndFeelDecorated(true);

                //创建窗口
                final JFrame frame = new JFrame();
                //窗口位置
                Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
                int x = dim.width - frame.getSize().width-300;
                int y = dim.height - frame.getSize().height - 110;
                frame.setLocation(x, y);
                frame.setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);  // 设置x的模式
                frame.setVisible(true);   //窗口可见

                //创建面板
                JPanel panel = new JPanel();
                panel.setVisible(true);
                panel.setBackground(new Color(238, 169, 184)); //设置面板的背景色,由参数bg指定颜色

                //创建JLabel操作文本或图像
                JLabel label = new JLabel("休息下,喝点水!");
                Font font = new Font("汉仪小隶书简", Font.BOLD, 15);  //文本格式
                //将文本放入JLabel,JLabel放入面板
                label.setFont(font);
                panel.add(label);

                //创建休息按钮
                JButton okButton = new JButton("Relax");
                Font buttonFont = new Font("华文新魏", Font.BOLD, 12);
                okButton.setBackground(new Color(99,184,255));
                okButton.setFont(buttonFont);
                okButton.setPreferredSize(new Dimension(70, 18));
                //点它能干啥
                okButton.addActionListener(e -> {
                    try {
                        Runtime.getRuntime().exec("rundll32.exe user32.dll,LockWorkStation");  //锁屏
                    } catch (Exception var3) {
                        var3.printStackTrace();
                    }
                });

                //创建继续干的按钮
                JButton workButton = new JButton("Don't");
                workButton.setBackground(new Color(232,232,232));
                workButton.setFont(buttonFont);
                workButton.setPreferredSize(new Dimension(70, 18));
                workButton.addActionListener(e -> {
                    try {
                        //点击按钮关闭窗口
                        frame.dispose();
                    } catch (Exception var3) {
                        var3.printStackTrace();
                    }
                });

                //往里塞
                panel.add(okButton);
                panel.add(workButton);
                frame.add(panel);
                frame.pack();
                //放最后才能正确居中
                frame.setLocationRelativeTo(null);

                //弹窗出现一分钟自动关闭
                Timer timer = new Timer();
                timer.schedule(new TimerTask() {
                    public void run() {
                        frame.dispose();
                    }
                }, 1000*60);
            }
        }, 0L, 1000*60*45L);   //45分钟一个循环
    }

如果有需要将程序设置开机自启动的话,可以看下前面发的那篇。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值