项目实战:Java实现计算机自动关机(二)

时间:2020-9-11 作者:admin


项目实战:Java实现计算机自动关机(二)

项目效果图

在这里插入图片描述

项目需求

  • 在第一篇需求的基础上进行改进,使用图形化界面将程序显示。

项目所需基础知识(了解)

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包

  1. Edit->Export选择导出。
    在这里插入图片描述

  2. 选择导出文件类型为jar file,选中点击next。
    在这里插入图片描述

  3. 选择要导出文件对应的java文件,并选择一个导出路径,命名好指定的文件名。然后点击next。
    在这里插入图片描述

  4. 下一个页面直接点next跳过,进入到下下个页面。
    在这里插入图片描述

  5. 在此页面浏览,选中对应的class,点击ok。最后点finish完成即可。
    在这里插入图片描述
    在这里插入图片描述

总结

知识是永无止境的,而且所有的内容有无数种实现方法,看自己愿不愿意继续深入学习。

  • 我将这次的项目jar包上传到了我的资源中,需要的宝宝可以自行下载学习,代码传送门:自动关机程序
声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。