使用Java开发一个本机服务管理程序,能够控制本机Tomcat、Apache服务的开启和关闭,图形界面控制。用户可以自己扩展其他服务,用来学习图形界面编程、多线程、事件响应等都不错。

一、最终界面

先贴上最终效果图,图1为初始化界面,图二为点击启动/停止之后的中间过渡状态,图三为启动成功后弹出的提示框

把动态gif图片嵌入到jpg背景图中?用Adobe ImageReady即可办到

二、初衷

作为一个程序员,电脑里总是装了各式各样的开发工具,这些工具平时用不上,却一直在后台运行,浪费了大量的资源,为了响应国家“勤俭办一切事情”的号召,理所当然地要把这些偷偷摸摸吃资源的家伙杀掉。

为了实现这个目的,可以直接在windows系统服务里面关闭,但是这样的话,下次再用的时候还要到服务管理器里面去找,而且说不定我已经记不清服务名了。(有人说可以用dos命令啊,洒家都已经说过了,我连服务名都忘却了,自然没法用dos命令)

只有自己做的工具才是最顺手的,尝试自己做个工具管理这些常用的服务,经过几天的努力,终于做成了如上图所示的最终结果。期间复习了不少Java方面的知识,下面把开发过程中遇到的一些问题分享一下。

三、 结构

规划了三个java源文件:

winserviceframe.java:界面

winserviceActionHandler.java:响应管理

winservicecontroller.java:服务控制

界面初始化后,会根据当前时刻各个服务的状态,显示出用户可以进行的操作,如果当前服务正在运行,用户可以点击暂停按钮;如果当前服务已经停止,用户可以点击启动按钮。

点击按钮后,程序会去执行用户的命令,并将执行结果显示出来,如果执行成功,按钮的状态会发生翻转,否则保持不变。

四、 遇到的问题和解决的方法

(1) 如何在java代码里面实现对服务的控制

Process p = Runtime.getRuntime().exec(“cmd 命令”);

InputStreamReader inputsreader = new InputStreamReader(p.getInputStream());

BufferedReader bufreader = new BufferedReader(inputsreader);

注意Runtime.getRuntime().exec()方法局限性很大,不能处理稍微复杂一点的命令。为了调试的方便,最好把p.getErrorStream()的结果也输出一下。

(2) 添加按钮图片

ImageIcon img = new ImageIcon(this.getClass().getResource("img/test.png"));

buttonon = new JButton(img);

注意java里面不支持ico格式的图片,如果上述语句用ico图片处理的话,会显示错误:at javax.swing.ImageIcon.(Unknown Source)

(3) 弹出提示信息框

使用静态方法

JOptionPane.showMessageDialog(null,res,"运行结果",JOptionPane.PLAIN_MESSAGE);

(4) 图形初始化的时候不能显示控件,必须用鼠标改变一下界面大小才能显示

必须把frame.setVisible(true);放到界面初始化过程的最后,这样才能把所有的组件刷出来显示

(5) 点击按钮的之后,运行停顿一下,loading图片显示不完整

原因是Runtime.getRuntime( “cmd”)过程有点费时,单线程处理的时候界面无法迅速响应,于是解决的办法也就有了,将点击按钮之后的动作放在另外一个单独的线程处理,为了让界面显示更流畅,可以加一个sleep(10)。

五、 尚待改进的地方

按钮按下的瞬间图片应该变扁一些,这样看起来更有动态感

用定时器循环检查服务状态,防止用户在其他地方更改了服务,导致本程序与实际服务运行情况不符合

下载链接:

------------------------------------------分割线------------------------------------------

具体下载目录在 /2014年资料/9月/22日/用Java开发一个本地服务管理软件

------------------------------------------分割线------------------------------------------

java linux 管理系统_用Java开发一个本地服务管理软件相关推荐

  1. java健身房管理系统_基于Java+SSM的健身房俱乐部管理系统、基于Java Web的健身房俱乐部管理系统...

    需求分析 编写并实现一个基于Java Web/Java的健身房俱乐部管理系统, 采用SSM(Spring, SpringMVC, Mybatis)三大框架实现, 能够实现教练管理, 会员管理, 器材管 ...

  2. java图片管理系统_基于Java的图片管理信息系统的设计与实现

    收稿日期:2003 - 05 - 07 作者简介:谭 娜(1978 -) ,女 ,河南济源人 ,硕士研究生 ,主要研究方向为数据库理论与应用. 基于 Java 的图片管理信息系统的设计与实现 谭 娜1 ...

  3. java楼盘管理系统_基于Java的楼盘销售管理系统的设计与实现

    科技信息SCIENCE & TECHNOLOGY INFORMATION2010 年 第 33 期 (上接第 456 页)3.3.1 在保卫目标上空 30-50m 的高度上,配置一定数量的球载 ...

  4. java图片管理系统_基于Java Web技术的图片管理系统的设计与实现.doc

    基于Java Web技术的图片管理系统 的设计与实现 本科毕业设计 目 录 第1章 引言6 1.1 课题研究目的及意义6 1.2 课题研究的内容7 2.1 用户功能需求7 图片收藏数据库查询系统图片收 ...

  5. java商品管理系统_【Java Web】简易商品信息管理系统——首个Web项目

    正文之前 在学习了一段时间的Java Web的内容之后,当然需要有个项目来练练手,我相信大多数人的首选项目都是信息管理系统吧,所以我选择了商品信息管理系统 目前项目源码已全部上传至GitHub,欢迎大 ...

  6. java编写管理系统_用java编写学生信息管理系统

    <用java编写学生信息管理系统>由会员分享,可在线阅读,更多相关<用java编写学生信息管理系统(7页珍藏版)>请在人人文库网上搜索. 1.用java编写学生信息管理系统im ...

  7. java课程管理系统_基于JAVA学生课程管理系统.doc

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspJava 基于JAVA学生课程管理系统.doc62页 本文档一共 ...

  8. 基于java高校教师管理系统_基于Java EE高校教师继续教育管理系统的设计和实现...

    2016年第9期 科 技 广 场 总第178期 基于Java EE高校教师继续教育管理 系统的设计和实现 陈 强 (广东科技学院计算机系,广东 东莞 523083) 摘要:本文对广东科技学院继续教育管 ...

  9. 基于java订单管理系统_基于JAVA技术的订单管理系统(DOC毕业设计论文)

    基于JAVA技术的订单管理系统(DOC毕业设计论文) 摘要本 论 文 的 研 究 课 题 是 < 基 于 JSP 技 术 的 订 单 管 理 系 统 > 的 实 现 . 本 系 统 通过 ...

最新文章

  1. 科学计算工具NumPy(3):ndarray的元素处理
  2. Nginx + Lua + 共享内存实现动态查询(简单例子)
  3. 计算机网络技术中的数据通信
  4. 利用反射和xml配置文件手写一个小型的框架
  5. java激光图,java-OpenCV Android跟踪激光点
  6. PCI总线的含义是什么?PCI总线的主要特点是什么?
  7. Win2000自动登陆
  8. 权限数据库设计(Sql Server)
  9. sqlserver shiwu
  10. Julia对矩阵进行预先赋值
  11. 工作流引擎 Activiti 教程(非常详细)
  12. socket多人聊天室c语言,WebSocket学习(一)——基于socket.io实现简单多人聊天室...
  13. SEP12.1.2现在支持自动卸载其他某些杀毒软件
  14. 生物信息学计算机等级,生物信息学考试题.doc
  15. 浅谈编程能力的培养与提高——写给编程初学者的话
  16. 密码学-->base64隐写
  17. Linux安装7z压缩软件记录
  18. warning C4819 的解决方法
  19. 如何引导市场和社会力量发展社区托育养老等服务业态?
  20. 最新京东金融Vue组件化实战视频教程(完整)

热门文章

  1. 小森生活手游服务器维护,小森生活无可用游戏服务器解决教程
  2. 计算机论文价值观,计算机教学中的情感态度价值观渗透-计算机教学论文-计算机论文(11页)-原创力文档...
  3. 2020年R1快开门式压力容器操作复审模拟考试及R1快开门式压力容器操作作业模拟考试
  4. 一、Spring框架概述
  5. [附源码]java+ssm计算机毕业设计基于协同过滤算法的旅游推荐系统a8749(源码+程序+数据库+部署)
  6. 专票的发票代码和发票号码在哪里
  7. 51单片机函数加了reentrant,设备就不动了
  8. 4K@60智能云台从零到一
  9. 《数据挖掘(完整版)》笔记——基于规则的分类器
  10. 记录学习前端知识的旅程【8】