用Java写一个关机程序(图形化界面)

通过JAVA程序写一个简易的记事本 代码如下: /** * @作者:刘猛 * @时间:2017.11.01 * @功能:简单的记事本功能 * @涉及主要知识点:Java的图形化界面、ActiveListener监听、文件的io流 * **/ package com.notepal; import java.awt.Color; import java.awt.event.ActionEvent; import 阅读详情

1.运行截图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2.代码实现

Game类

package com.zzu.Demo1;

import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;

public class Game {
    //创建CountDown对象
    CountDown cd = new CountDown();
    //创建标签
    JLabel jLabel = new JLabel("电脑将在" + cd.close.time + "秒后关机,输入”" + cd.close.input + "“则取消!");
    static JLabel label = new JLabel();
    static JFrame MyjFrame = new JFrame("shutdownApp1.0");
    //创建两个按钮
    static JButton ok = new JButton("确定");
    static JButton ca = new JButton("退出");
    //文本域
    static JTextField edit = new JTextField(8);
    JPanel jp01 = new JPanel();
    JPanel jp02 = new JPanel();
    static JPanel jp03 = new JPanel();
    JPanel jp04 = new JPanel();
    //创建Close对象
    Close cs = new Close();


    public Game() {
        //上传logo
        ImageIcon icon = new ImageIcon("520.jpg");
        Image image = icon.getImage();
        MyjFrame.setIconImage(image);

        //设置窗口大小位置
        MyjFrame.setSize(500, 500);
        MyjFrame.setLocation(400, 100);
        //设置关闭窗口之后程序随之关闭
        MyjFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        //响应回车键
        MyjFrame.getRootPane().setDefaultButton(ok);
        //设置标签字体格式、大小、颜色
        jLabel.setFont(new java.awt.Font("行楷", 1, 16));
        jLabel.setForeground(Color.BLUE);
        label.setFont(new java.awt.Font("行楷", 1, 24));
        label.setForeground(Color.PINK);
        edit.setFont(new java.awt.Font("行楷", 1, 18));
        //添加布局
        jp01.add(jLabel);
        jp02.add(edit);
        jp03.add(label);
        jp04.add(ca);
        jp04.add(ok);
        MyjFrame.add(jp01);
        MyjFrame.add(jp02);
        MyjFrame.add(jp03);
        MyjFrame.add(jp04);
        //设置布局风格
        MyjFrame.setLayout(new GridLayout(5, 1));
        cs.close();
        MyjFrame.setVisible(true);

        cd.start();


        /***
         * 事件监听
         */
        ok.addActionListener(new ActionListener() {
            @SuppressWarnings("deprecation")
            public void actionPerformed(ActionEvent e) {
                if (edit.getText().equals(cs.input)) {
                    cs.cancel();
                    JOptionPane.showMessageDialog(null, "关机已取消!",
                            "", JOptionPane.INFORMATION_MESSAGE);
                    cd.stop(); //线程停止
                    edit.setEnabled(false);
                    ok.setEnabled(false);
                    ca.setEnabled(false);
                } else {
                    JOptionPane.showMessageDialog(null, "输入错误!",
                            "提示", JOptionPane.ERROR_MESSAGE);
                    edit.setText("");
                }
            }
        });
        ca.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                JOptionPane.showMessageDialog(null, "确定要退出吗?电脑依然会关机的!",
                        "提示", JOptionPane.ERROR_MESSAGE);
            }
        });
    }

    public static void main(String[] args) {
        new Game();
    }

}

CountDown类

package com.zzu.Demo1;

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

public class CountDown extends Thread{
    Close close = new Close();
    String str;

    /***
     *书写线程要执行的代码
     */
    public void run() {
        while (true) {
            try {//让线程休眠指定的时间,单位为毫秒
                Thread.sleep(1000);
            } catch (InterruptedException e) {
            }
            close.time--;
            if (close.time == 10) {//当只剩下10秒时
                JLabel sb = new JLabel("倒计时十秒");
                sb.setFont(new java.awt.Font("隶书", 1, 24));
                sb.setBackground(Color.GREEN);
                JPanel pa = new JPanel();
                pa.add(sb);
                Game.MyjFrame.add(pa);
                Game.MyjFrame.setVisible(true);
                Game.edit.setVisible(false);
                Game.ca.setEnabled(false);
                Game.ok.setEnabled(false);
            }
            str = "倒计时:" + close.time;
            Game.label.setText(str);
            Game.jp03.add(Game.label);
            if (close.time == 0) {
                System.exit(0);
            }
        }
    }

}

Close类

package com.zzu.Demo1;
/**
 *shutdown: 关机
 *加上参数才能执行
 *-s: 默认在一分钟之后关机
 *-s -t 指定时间:指定关机时间
 *-a: 取消关机操作
 *-r: 关机并重启
 */
public class Close {
    Runtime rTime = Runtime.getRuntime();
    int time = 60;//设置关机时间
    String input = "我就是笨蛋";

    public void close() {
        try {//运行cmd命令
            rTime.exec("shutdown -s -t " + time);
        } catch (Exception e) {
        }
    }

    public void cancel() {
        try {//运行cmd命令
            rTime.exec("shutdown -a");//取消关机
        } catch (Exception e) {
        }
    }

}

JAVA编写有图形化界面的计算器 JAVA编写有图形化界面的计算器目录JAVA编写有图形化界面的计算器 目录 计算器功能 代码块 运行界面 心得计算器功能 加减乘除四则运算 负数和小数运算 退格、清除和归零 开根号 百分号 倒数 代码块@requires_authorization import java.awt.*; import java.awt.event.*; import javax.swing.*;public clas 阅读详情

相关推荐

【java图形化用户界面】猜数游戏

题目 编写一个猜数程序,该程序随机在1到1000的范围中选择一个供用户猜测的整数。界面上提供一个文本框来接收用户输入的猜测的数,如果用户猜得太大,则背景变为红色,如果猜得太小,背景变为蓝色。用户猜对后,文本框变为不可编辑,同时提示用户猜对了。界面上提供一个按钮,使用户可以重新开始这个游戏。在界面上还需显示用户猜测的次数。示例输出如图所示。   代码 import java.awt.*; ...

qq_43417265的博客 6069

(整蛊)一段好玩的java代码

代码中的time是执行命令后离关机前的时间(秒),发给舍友时记得把注释删掉哦(没错,小编就是忘记删注释没整蛊成功QAQ)。对了,亲,这边提示记得跑路哦~~给大家分享一个好玩的代码,非常适合整蛊舍友(啊,不是)。

m0_62642113的博客 2682

使用javaswing图形化界面来写一个记事本程序,超牛逼!!!

使用javaswing图形化界面来写一个记事本程序,超牛逼!!!

aA20030316的博客 2592

java整人代码大全_整人代码vbs大全分享

整人代码vbs大全分享vbs制作方法1、在记事本中粘贴vbs代码;2、另存为vbs文件,双击即可运行。以下是分享的一些代码重要提示:关机和死机的代码自己玩玩就可以了,发给别人实在有点缺德,万一别人有重要的东西没保存自己可能要负相应的后果。一、做我女朋友吗,告白(抖音里很火的)无危害msgbox("做我女朋友可以吗?")msgbox("房产证上写你名")msgbox("保大")msgbox("我妈会...

weixin_30303839的博客 3794

java写图形化界面连接数据库

前言 原来,一瞬间,一句话,真的可以改变一个人的命运。 说一个前几年一个热门话题:“是否应该跳出舒适圈。” 一时间,这个话题便引发众人议论: 支持方:愿意挑战不擅长领域的人,勇气可嘉,值得学习。 反对派:做自己擅长的事情不好吗?为何非要跳出舒适圈呢? 其实,每个人的决定都取决于当下自己的状态以及那一瞬间的冲动,也可能你成了雷军,也可能你和下图一样,大家懂我意思吧 一念之间的决定,你敢尝试吗?今天想说的是对于想转行做程序员的一些建议和小小的帮助。 每年想转行做程序员的人都不少,现在一些大热门的区块链,人

m0_56662269的博客 1306

java实现关机程序(附完整源码)

java实现关机程序(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 752

恶搞弹窗代码

承认是猪,才能关闭的恶搞弹窗,可以修改内容

m0_63499666的博客 1179

java实现关机、重启、注销功能的实现(附完整源代码)

java实现关机、重启、注销功能的实现(附完整源代码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 836

基于java图形界面开发定时关机小程序

基于java图形界面开发定时关机小程序 开发工具:eclipse 开发环境:jdk1.8 导入的包 import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.IOException; import java.util.Timer; import java.util.TimerTask; import javax.swing.JButton; import javax.swing.JFram

CodingPeasan的博客 353

STM32HAL库 基于外部Flash+FatFs模拟U盘方式进行固件拷贝升级(详解)

STM32HAL库 基于外部Flash+FatFs模拟U盘方式进行固件拷贝升级

qq_36075612的博客 1万+

使用Kolla部署多节点Rocky版本OpenStack

openstack命令行客户端使用,post-deploy会在 /etc/kolla/目录下生成文件admin-openrc.sh。每次使用openstack命令时执行source /etc/kolla/admin-openrc.sh(manager节点执行)source /etc/kolla/admin-openrc.sh (将文件内容复制到/etc/profile中,即可一直生效)3.2.2 开始安装kolla-ansible,要带上--ignore-installed PyYAML,否则可能会报错。

gyc1206的博客 1926

Java图形化界面编程

先谈谈个人对图形化界面编程的认识,图形化界面编程可以直接的看到每一步操作带来的效果,相对于传统编程盯着黑框框学起来是非常非常有意思的。

智子的博客 1万+

Spring Boot与Apache Ignite集成:构建高性能分布式缓存和计算平台

Apache Ignite是一个高性能的分布式内存计算平台,支持内存缓存、分布式计算、流处理和机器学习等功能。它提供了低延迟的数据访问和强大的计算能力,适用于需要高性能和可扩展性的应用。将Apache Ignite集成到Spring Boot应用中,可以显著提高应用的性能和可扩展性。Spring Boot的简单配置和Ignite的强大功能相结合,使得开发和部署更加高效。首先,创建一个新的Spring Boot项目。可以通过Spring Initializr(https://start.spring.io/)

九天的专栏 2142

Java 图形化界面的实现

Java 图形化界面的实现 1.图形化界面实现所需的条件 图形化界面的窗体,图形化界面的面板 2.界面的窗体 2.1 什么是图形化界面的窗体 如图,黑色的外边框就类似于图形化界面的窗体,要实现图形化界面,窗体是不可少的,或许有人会问只要外边框就可以了吗?当然是不可以的,还需要面板,要不然只有了外边框,里面啥也没有,那图形化界面还能称之为图形化界面. 2.1 如何在Java 程序中实现图形化界面的窗体 我们都知道Java 的有一个特点就...

枯寂家博客 1万+

用Scratch实现凯撒密码:图形化编程与古典密码学的趣味结合

字符编码与移位运算是计算机处理文本数据的基础原理之一,它通过将字母映射为数字实现信息转换。在密码学领域,凯撒密码作为最经典的替换密码,直观地展示了基于规则字符替换的加密思想,其核心价值在于通过简单算法揭示加密解密的基本框架。这种原理在编程教育中尤为重要,能够帮助初学者理解循环、变量和字符串处理等核心概念。结合Scratch图形化编程环境,学习者可以通过拖拽积木可视化构建加密算法,将抽象的移位操作转化为交互式游戏。本项目以凯撒密码为例,通过实时密钥调整和动态字母表映射,生动演示加密过程,并自然融入暴力破解和密

weixin_32428571的博客 310

真格量化-bs套利

#!/usr/bin/env python # coding:utf-8 from PoboAPI import * import datetime import time import numpy as np from copy import * #开始时间,用于初始化一些参数 def OnStart(context) : context.myacc = None #登录交易账号 if context.accounts["回测期权"].Login() : co.

qq_26742269的博客 1320

java图形化界面编程1

通常情况下,java语言一般是用来开发后台程序的,所谓的后台程序就是部署在服务器端的程序,默默的工作,用户是看不到任何界面的,所以很多情况下,学习java会感觉很枯燥。事实上,我们使用java语言同样可以完成图形化界面程序的开发,而学习图形化界面编程相对来说就会有趣很多,因为所见即所得,也就是说,我们写的大部分代码的执行效果,是可以通过图形化界面实实在在能够看得到的。 java使用AWT和Swing相关的类可以完成图形化界面编程,其中AWT的全称是抽象窗口工具集(Abstract Window Toolki

asckajc的博客 2803

Cadence PSpice 仿真11:电感型低通滤波器最坏情况分析仿真实战图文教程

在进行蒙特卡罗分析时会将元器件的容差考虑进去,然后通过运行多次的随机仿真,得到电路输出的一个范围。但是多数情况下设计师关注的只是电路的最坏情况是否满足设计要求。PSpice的最坏情况分析是取在容差的边界点元件参数进行仿真以计算出电路输出的最坏情况。所以如果如果电路中有10个元件的话,需要先取10个元件的标准值仿真1次,然后再分别在10个元件的容差边界处各仿真1次,然后再对仿真结果进行统计和计算,再最坏情况下再仿真1次。

fydar的博客 1944

Java图形化界面设计之容器(JFrame)详解

AWT是比较旧的双介面函式库,它依然高度倚赖各作业平台自身所具备的绘图功效机能,且用一个比包容程式(Wrapper)还小的设计还去除、吸收各作业平台间的绘图功能机能差异,以致Java程式在跨平台移携后的绘图呈现不够一致,这使得AWT遭受到众多的批评。这意味着:AWT的Widget倚赖作业平台自身原有的Widget功效机能,程式设计师在开发撰写时必须去了解各作业平台在Widget方面的差异性,如此便偏离了Java程式语言最初的宗旨:跨平台一致性。

mfnyq的博客 7445

AMBA-CHI协议详解(十)

该规范提供了一个Request Retry(请求重试)机制,确保当请求到达一个Completer 时,它要么被接受,要么被给予一个RetryAck响应,以防止阻塞REQ通道。

Crazzy_M的博客 986

将Keil中的变量数组导出

首先,写好导出数据的函数。

小柚子的博客 1951

Java实现图形化界面的日历

此程序主要功能实现了可以根据用户选择的年月日来定位日期,日期的旁边用#加以标注 主界面如下: 代码如下: import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.text.SimpleDateFormat; import java.util.Ca...

SSSuperbeyond的博客 5981

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

JAVA图形化界面设计

JFrame图形化界面

qq_56627079的博客 6211

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

java图形化界面(GUI)

java图形化界面(GUI)一、AWT编程(抽象窗口工具集)1.AWT继承体系 一、AWT编程(抽象窗口工具集) 1.AWT继承体系 所有的AWT编程相关类放在java.awt包以及它的子包下,AWT编程中有两个基类:Component和MenuComponent。 Component:代表一个能以图形化形式显示出来,并可与用户交互的对象,例如Button代表一个按钮,TextField代表一个文本框等; MeanComponent:代表图形界面的菜单组件,包括MeanBar() ...

m0_64491740的博客 1万+

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

java:图形化界面

事件是可以被组件识别的操作·当你都组件干了某件事情之后,就会执行对应的代码。

Wyc72409的博客 1139

利用Java语言制作关机小程序

本程序用到了Java的图形化界面,运行后弹出一个方框窗口,文本框下方是提示,看清提示后可以输入英文大/小写答案,若输入出错,则在60秒后关机,若在此期间,改窗口丢失焦点,则弹出提示框,并在15秒后关机。由于这是本人早期学习Java时编写的程序,所以Bug较多,敬请谅解! 以下是源代码 package test; import java.io.*; import javax.swing.*; imp...

苦涩精灵的博客 520
上一篇: 【LeetCode】1031. 两个非重叠子数组的最大和
下一篇: ip数据报计算首部检验和
天皓Oo
博客等级 码龄5年 337粉丝 61原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值