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

定时开关机(一):添加设置界面 定时开关机(一):设置界面 添加定时开关机功能,首先添加设置界面。在设置->日期和时间中,有个“设置时间”选项,点进去如图: 这个界面还挺好看的,所以决定使用这个界面作为设定开/关机时间的界面。 “设置时间”源码分析 调用设置时间dialog的源码位置为:packages\apps\Settings\src\com\android\settings\DateTimeSettings.jav... 阅读详情

基于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.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;

1. 关机程序核心代码

使用Runtime类中的exec方法在单独的进程中执行指定的字符串命令。

/**创建一个Runtime对象*/
private Runtime r = Runtime.getRuntime();
	{
		UI ui = new UI();
	}
/**
	 *	 启动关机计划
	 */
	public void start(int time) {
		try {
			r.exec("shutdown -s -t "+time);
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	/**
	 * 	取消关机计划
	 */
	public void abort() {
		try {
			r.exec("shutdown -a ");
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

2.图像界面

参考JFrame类来创建自己需要的图形界面

public class UI extends JFrame implements ActionListener {
		
		/**启动任务按钮*/
		private JButton btnStart;
		/**取消任务按钮*/
		private JButton btnCancel;
		/**接收输入的输入框*/
		private JTextField inputTime;
		/**文本提示控件*/
		private JLabel tips;
		/**时间*/
		private Timer timer = new Timer();
		/**定义一个全局变量*/
		private int t;
		/**定义一个Timertask*/
		private TimerTask task = null;

		public UI() {
			//设置标题
			setTitle("SOFFTEEM定时关机小程序");
			//设置窗口大小
			setSize(300, 150);
			//设置当前界面显示的相对位置,设置为null,界面会在屏幕正中间
			setLocationRelativeTo(null);
			//设置禁止窗口大小修改
			setResizable(false);
			//设置当前窗口总是在最顶层
			setAlwaysOnTop(true);
			//设置当窗口关闭时的默认操作
			setDefaultCloseOperation(EXIT_ON_CLOSE);
			//初始化组件
			init();
			//显示窗口
			setVisible(true);
		}

3.组件初始化

private void init() {
			//设置界面的布局方式(流式布局)
			setLayout(null);
			btnStart = new JButton("启动任务");
			btnStart.setBounds(20, 50, 120, 40);
			btnCancel = new JButton("取消任务");
			btnCancel.setBounds(160,50,120,40);
			inputTime = new JTextField();
			inputTime.setBounds(20, 20, 260, 30);
			tips = new JLabel("这里显示提示信息!");
			tips.setBounds(20,90,260,30);
			
			//将控件加入窗体中
			add(btnStart);
			add(btnCancel);
			add(inputTime);
			add(tips);
			
			//为按钮绑定操作指令
			btnStart.setActionCommand("start");
			btnCancel.setActionCommand("cancel");
			//为启动按钮绑定事件(this关键字,多态)
			
			ActionListener al = this;
			//为启动按钮绑定事件
			btnStart.addActionListener(al);
			
			//为取消按钮绑定事件
			btnCancel.addActionListener(al);
		}

4. 调用方法和组件来实现小程序

实现ActionListener接口重写actionPerformed方法

@Override
		public void actionPerformed(ActionEvent e) {
			//获取被触发事件的控件操作指令
			String s = e.getActionCommand();
			if(s.equals("start")){
				String time = inputTime.getText();
				try {
					//当定时任务对象不为空时说明已经有一个正在运行的任务
					if(task != null) {
						//弹出一个消息界面
						JOptionPane.showMessageDialog(UI.this, "请不要重复启动定时任务!");
						return;
					}
					t = Integer.parseInt(time);
					start(t);
					task = new MyTask(t, tips);
					//实现倒计时,参考Timer&TimerTask
					timer.schedule(task,0,1000);
				}catch(NumberFormatException ex) {
					tips.setText("请输入正确的关机时间(秒)");
				}
			} 
			if(s.equals("cancel")) {
				if(task == null) {
					tips.setText("未设置关机任务!");
					return;
				}
				abort();
				tips.setText("计划取消!");
				//取消任务
				task.cancel();
				//将引用设置为null
				task = null;
			}	
		}
	}

5.创建Mytask类继承Timetask类重写run方法

方便调用run方法

import java.util.TimerTask;
import javax.swing.JLabel;

public class MyTask extends TimerTask{

	private int t ;
	private JLabel tips;
	
	public MyTask(int t, JLabel tips) {
		super();
		this.t = t;
		this.tips = tips;
	}

	@Override
	public void run() {
			tips.setText(t-- + "秒之后关机!");		
		}

}

创建main方法输出实现

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

输出界面

显示界面
启动任务
取消任务

java定时关机小程序 java定时关机小程序 通过使用java代码实现控制电脑的关机,使用了定时器,可以自定义定时的时长,并且用到了可视化的图形界面,用户可在上方输入定时时长启动任务以及取消。 首先我们编写启动关机和取消关机代码来实现小程序。 /** * 定时关机小程序 */ public class Power { private Runtime r = Runtime.getRuntime(); { new UI(); } /** * 启动关机计划* */ public void start(in 阅读详情

相关推荐

java swing 窗口不用时定时关闭

NULL 博文链接:https://hw1287789687.iteye.com/blog/2142935

java之动态配置定时任务

需求场景 最近我在工作当中遇到需要支持用户在前端界面上动态配置定时任务的执行时间和执行参数的需求。在我们平时的开发当中,传统的方式就是在类的方法上使用注解@Scheduled(cron = “0 0 0 1 * ?”)这样来配置时任务,但是不能够满足我们的需求,不能动态配置和改变任务的执行时间和执行参数。我们需要怎么做?接下来我们来实现一下 上才艺 目录结构 DemoApplication package com.example.demo; import org.springframework.boot

小小坚的博客 1万+

带界面设置的定时自动关机小程序

1、界面操作,简单方便。 2、设置自动关机后,即使关掉本窗口,仍然会继续执行定时自动关机。 3、再次打开页面时,会还原之前的倒计时状态。 4、点击“取消自动关机”按钮,可终止自动关机。

Java中实现一个定时任务并在特定时刻弹出窗口提醒用户需要放松休息

Java中实现一个定时任务并在特定时刻弹出窗口提醒用户需要放松休息

Java&Develop的博客 551

定时关机 操作简单 界面漂亮

火鸟定时关机V0.2,界面清爽,操作简单。 看到大多数关机软件动辄搞出几十个、几百个选项,觉得太累赘,决定自己写个,方便自己,方便大家吧 功能: 1.常规关机(安全退出) 2.暴力关机(直接关闭电源) 3.重新启动 4.系统注销 5.关机倒计时显示 6.关机前10秒提示 免费、绿色,您可以任意下载、转载、传播。 版本历史: 2010-11-24[V0.1]首次公开发布 2010-11-26[V0.2]修正:去除任务栏留下的窗口(感谢pscheung的建议)

QT下利用FFTW实现功率谱密度分析(周期图法)

写在前面 出于项目需求,需要在QT的msvc 2015编译环境下实现功率谱密度估计。 所以这个需求很直接的关键词就是 1. C++ 2. QT 3. 傅里叶变换 4. 功率谱密度估计 但是在网上搜索了很久,没有一个非常直接的答案。所以我觉得很有必要写一篇文章来说明,在QT msvc2015 32bit环境下如何实现功率谱密度估计。 本文并没有经过严格编辑,但代码是已经可以跑通的,如...

李时珍食疗志的博客 5223

Java图形化界面编程

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

智子的博客 1万+

别再死记硬背HJB方程了!用Python数值求解一个简单最优控制问题(附完整代码)

本文通过Python数值求解Hamilton-Jacobi-Bellman(HJB)方程,帮助读者从工程实践角度理解最优控制问题。教程涵盖从建立简单车辆控制模型到离散化HJB方程、实现值迭代算法及可视化结果的完整流程,适合具备Python基础的开发者学习。

weixin_42520796的博客 371

定时关机程序

忽略JSONDemo类, Power类源码。 package com.softeem.lession21.app; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.IOException; import java.util.Timer; import java.util.TimerTask; import javax.sw

weixin_44937847的博客 231

ACL访问控制列表详解:原理、配置与应用

如果发现ACL规则没有达到预期效果,需要检查ACL规则配置是否正确,是否在正确的接口和方向上应用,以及规则顺序是否合理(ACL规则按顺序匹配,匹配到即停止)。其中,rule-id是规则的编号,用于确定规则的匹配顺序;例如,应该先配置针对特定主机和特定端口的规则,再配置针对整个网段的规则,最后配置允许所有流量的规则,这样才能确保ACL按照预期工作,避免因规则顺序不当导致的访问控制失效。例如,应该先配置针对特定主机的规则,再配置针对整个网段的规则,最后配置允许所有流量的规则,这样才能确保ACL按照预期工作。

彭大帅的博客 1046

灵魂三问:因果推断

什么是因果推断?为什么研究因果推断?怎么进行因果推断研究?

ML OR 智能决策的博客 2902

Java实现带GUI的自动关机小程序

本身Java只用一行代码就可以设置电脑的计划关机,取消计划关机也只需要一行代码就能搞定了。但本人也是够闲的,给这个小功能弄了个界面,包括确定和取消按钮和关机事件的进度条以及一个输入框。代码也很简单: package javaProject_1; import javax.swing.*; import java.awt.*; import java.io.IOException; public class Demo1 { public int sec=0; public int getC

xhh22900的博客 316

曲线最小二乘拟合基础

介绍曲线拟合的最小二乘原理,介绍了常规最小二乘和正交最小二乘算法,最后介绍了MathNet矩阵运算库的基本操作。

yh523的博客 1303

Python+PyQt5打造桌面伪系统:从GUI编程到操作系统UI模拟实战

GUI编程是现代软件开发的基础技能,通过图形界面实现人机交互是应用开发的核心环节。其原理在于利用框架提供的控件库和事件驱动模型构建可视化应用。掌握GUI开发不仅能创建实用工具,更是理解操作系统用户界面设计思想的绝佳途径。在工程实践中,PyQt5等跨平台框架因其丰富的组件库和高效的开发流程,常被用于构建复杂的桌面应用。本文聚焦于一个综合性实践项目——桌面伪系统开发,通过模拟操作系统界面,深入讲解窗口管理、事件处理、多模块协作等关键技术。项目涵盖桌面图标管理、任务栏实现、开始菜单设计等核心模块,并演示如何集成记

weixin_30764771的博客 410

出现 has been blocked by CORS policy: No ‘Access-Control-Allow-Origin‘ header is present on the 解决方法

Access to XMLHttpRequest at 'http://127.0.0.1:5000/api/data' from origin 'http://10.197.0.79:8080' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

码农研究僧的博客 1万+

5G/NR 网络切片基本概念(协议版)

26.1 网络切片概念 网络切片是一个概念,可以根据每个客户的要求进行区别对待。通过切片的形式,将不同流量差异化处理,以及可以将资源进行隔离,然后移动网络运营商可以将客户视为属于不同租户类型的客户,每种客户具有不同的服务要求,这些要求根据每个租户根据SLA (Service Level Agreement,服务水平协议)可以使用哪种切片类型进行管理和订阅。 网络切片始终由RAN部分和CN部...

欢迎来到小七的博客,这里将带你深入探索5G通信的神秘世界。无论你是通信领域的专业人士还是对这一领域充满好奇心的技术爱好者,这里都有专业协议解读、通信知识普及以及有趣的Python编程内容等你发现。 1万+

AI编码代理治理框架AEF:任务驱动开发与结构化工程实践

在软件工程领域,代码治理与变更管理是确保项目质量和可维护性的核心机制。传统的版本控制、代码审查和持续集成流程,通过结构化规则约束开发行为,保障了协作的可靠性与可追溯性。随着AI编码代理(如Claude Code、Cursor、GitHub Copilot)的广泛应用,其自主生成与修改代码的能力,在提升效率的同时,也引入了新的治理挑战——如何确保AI的变更行为符合工程规范,并具备可审计性?Agentic Engineering Framework(AEF)正是为解决这一痛点而设计的技术方案。它通过强制性的任务

weixin_33714884的博客 1053

OpenClaw一人公司落地案例:本地商家营销智能体月赚3万的秘密

角色:本地商家营销专家## 核心目标为商家生成高转化率的抖音营销策略,最大化 ROI。## 输入数据- 商家名称: "XX奶茶店"- 过去 30 天视频播放量: 12,000- 客单价: 28 元- 竞品平均播放量: 15,000- 市场趋势: rising## 策略生成规则1. **内容类型**:根据客单价推荐- < 30 元:美食探店 + 优惠券- > 30 元:场景化故事 + 会员权益2. **发布时间**:根据历史数据- 18:00-20:00 高峰期。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 542

“定时关机器”开发总结

最近花了点业余时间用VB6写了个“定时关机器” 中间郁闷了几天,就是如何不载入外部ICO图标的情况下在标题栏和任务栏上添加32位图标的问题,众所周知,VB6不支持32位图标,只支持24位以下图标,但24位以下图标放置到标题栏和任务栏上很难看,百度找了很多使用32位图标都是需要载入外部图标。自己结合百度搜的结果摸索了一下,总算搞定了: 首先需要准备一个图标文件,其中包含...

weixin_34297704的博客 163

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Camera2Demo

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

定时关机

依次点击开始→所有程序→附件→系统工具→任务计划程序 右键点击任务计划程序库创建基本任务,输入名称和描述: 下一步设置任务触发器,这里设置每天 下一步设置每天的具体时间,这里设置晚上2点: 下一步设置希望该任务执行什么操作,这里设置启动程序: 下一步设置启动程序的具体参数,如下: 下一步,完成。 ...

尊哥的博客 1186

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

java图形用户界面基础

Swing和AWT介绍java的时候,将图形用户界面相关类捆绑在一起,放在一个称为抽象窗口工具箱(Abstract Window Toolkit,AWT)的库中。AWT适合开发简单的图形用户界面,但并不适合开发复杂的GUI项目。除此之外,AWT更容易发生与特定平台相关的故障。AWT的用户界面组件就被一种更稳定,更通用和更灵活的库取代,这种库称为Swing组件(Swing component)库。大多

yongchaocsdn的博客 5万+

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

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

windows定时关机

应某人要求写了一个定时关机程序,用c#做的,本来想写成batch但是考虑到ui过于丑陋,是用不便,lz喜欢batch但是考虑到是用人是小白。就算是用c#界面依旧很丑,毕竟本人不是ui设计师。附代码using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using

strangefx的专栏 450

Qt学习(五)------实例定时关机小程序

一、关机程序实现原理cmd指令: shutdown –s -t-s 是关闭此计算机 -t 是延迟多长时间关闭 ,后面跟秒数 例如 shutdown -s -t 60 意思是说60秒后关闭此计算要取消关机请运行“shutdown -a”输入 “shutdown -i”,则可以打开设置自动关机对话框,对自动关机进行设置。 二、代码实现 1、新建工程shutdown,基类选择dialog

yanqianglifei的专栏 2170

Spring AI + GPT-5.5 + Ollama 配置教程:Base URL、超时与流式调用

由于不同 Spring AI、Spring Boot 小版本之间仍可能存在差异,创建项目时应检查 Spring Initializr、Spring AI BOM 和官方兼容矩阵,不要直接复制旧教程中的 Starter 名称和版本号。多人项目最好隔离不同客户端,并在脱敏前提下记录最终 URL、状态码、请求耗时、请求 ID 和模型 ID。Spring AI 接入模型 API,至少要同时确认 Starter、Base URL、请求路径、API Key、模型 ID、连接超时、读取超时和流式客户端这 8 项。

2601_95893075的博客 225

InnoDB 内存结构总览:Change Buffer、AHI 与 Log Buffer

本文系统梳理InnoDB内存结构中的ChangeBuffer、Adaptive Hash Index(AHI)与LogBuffer。ChangeBuffer缓存二级索引页不在内存时的变更,减少随机IO,仅在页加载时合并;聚簇索引修改立即执行,因数据本身不可延后。AHI基于高频等值查询自动构建哈希索引,加速定位,仅支持等值操作。LogBuffer为redo log内存缓冲,配合磁盘日志实现崩溃恢复。三者均服务于性能优化,其中ChangeBuffer与AHI共享BufferPool空间,而LogBuffer独立

bksczm的博客 67
下一篇: 查询自己编写了多少java代码
CodingPeasan
博客等级 码龄7年 6粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值