项目实战:Java实现计算机自动关机(二)
- 上一篇:项目实战:Java实现计算机自动关机(一),已将Java基础功能代码编写出来,本篇我们主要是给此程序加个界面,导出jar包,使其能够通过点击jar包独立运行。
项目效果图
项目需求
- 在第一篇需求的基础上进行改进,使用图形化界面将程序显示。
项目所需基础知识(了解)
GUI(不常用,如今多使用大前端)
- GUI通俗来讲就是使用Java语言编写的一个图形化界面,使程序美观可视,操作起来更简单。
代码
(一)界面显示
第一步、在窗口类定义组件
- 先使class继承JFrame使其成为窗口类,在其中定义所需组件。
public class Demo1 extends JFrame {...}
// 定义组件 JPanel jp1, jp2; JLabel jlb1; JButton jb1, jb2; JTextField jtf1;
第二步、添加要素
- 在public方法Demo1中添加所需要素。
public Demo1() { jp1 = new JPanel(); jp2 = new JPanel(); jlb1 = new JLabel("请输入关机执行的秒数"); jtf1 = new JTextField(10);// 输入框 jb1 = new JButton("执行关机");// 按钮 jb2 = new JButton("取消关机");// 按钮 this.setLayout(new GridLayout(3, 1)); // 加入各个组件 jp1.add(jlb1); jp1.add(jtf1); jp2.add(jb1); jp2.add(jb2); // 加入到JFrame this.add(jp1); this.add(jp2); this.setSize(350, 150); this.setTitle("Welcome to use the 朵朵 Shutdown Sequence!"); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true);
第三步、主函数入口
- 将我们写好的内容通过new Demo1()写进入口,使其能够执行。
public static void main(String[] args) { new Demo1(); }
完成以上三步就可以进行窗口的显示,接下来要讲按钮事件监听,使其自动关机的功能得以实现。
(二)实现功能
第一步、按钮事件监听
- 使按钮类实现事件监听接口,对其进行重写。
//执行自动关机
class MyBtn1 implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
// 3. 根据用户输入的秒数seconds进行自动关机
try {
Runtime.getRuntime().exec("shutdown -s -t " + [秒数]);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
// 4. 开始自动关机时,提示用户seconds秒后关机
System.out.println("it will shutdown after " + [秒数] + "s.");
}
}
//执行取消关机
class MyBtn2 implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
try {
Runtime.getRuntime().exec("shutdown -a");
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
System.out.print("the shutdown has been cancelled.");
}
}
第二步、对按钮添加监听
- 将按钮的事件监听效果添加进要素中。
jb1.addActionListener(new MyBtn1()); jb2.addActionListener(new MyBtn2());
第三步、获取文本框输入的内容
- 获取用户输入的数字,在点击执行关机按钮时获取这个数字,作为计算机关机倒计时的秒数。
- 在重写的方法中使用getText()获取文本框内容。
// 3. 根据用户输入的秒数seconds进行自动关机 Runtime.getRuntime().exec("shutdown -s -t " + jtf1.getText()); // 4. 开始自动关机时,提示用户seconds秒后关机 System.out.println("it will shutdown after " + jtf1.getText() + "s.");
这样点击程序执行使就可以显示GUI窗口,并且可以通过点击按钮实现关机和取消关机的功能了。最后一步导出jar包使其能够独立运行,完成这步就大功告成啦。
(三)导出jar包
-
Edit->Export选择导出。
-
选择导出文件类型为jar file,选中点击next。
-
选择要导出文件对应的java文件,并选择一个导出路径,命名好指定的文件名。然后点击next。
-
下一个页面直接点next跳过,进入到下下个页面。
-
在此页面浏览,选中对应的class,点击ok。最后点finish完成即可。
总结
知识是永无止境的,而且所有的内容有无数种实现方法,看自己愿不愿意继续深入学习。
- 我将这次的项目jar包上传到了我的资源中,需要的宝宝可以自行下载学习,代码传送门:自动关机程序。