如何编写 jButton 以将笔记本电脑或设备切换到省电模式

Posted

技术标签:

【中文标题】如何编写 jButton 以将笔记本电脑或设备切换到省电模式【英文标题】:How to code a jButton to turn the laptop or device to battery saver mode 【发布时间】:2020-10-27 09:01:26 【问题描述】:

我没有尝试过任何编码,因为我没有经验。

但是对于我当前正在制作的应用程序(用于分配),我想让用户在倒计时结束时打开省电模式,(如果用户之前选择了“休息时打开省电模式”复选框) 省电模式将由软件自动启用。 (操作系统 - Windows 10)。

【问题讨论】:

这样做需要编程语言深入操作系统的内部。 Java 不是那种语言,因为它采用“更高级别”的方法,试图在所有机器上工作。顺便说一句,“我没有经验。..(作业)”优秀讲师/老师会意识到这不是 Java 的工作,所以我猜你'正在尝试在分配的任务之外执行此操作。只是.. 不要。如果分配的任务的代码写得很好并且有据可查,那么你的时间会更好(并且老师也会留下更深刻的印象)。为您自己的应用保存这些额外内容。 命令行类似于powercfg.exe /setactive ...。使用 ProcessBuilder,您可以执行这样的命令行。 (1) 找到确切的命令行工作。 (2) 在Java 中使用ProcessBuilder 执行这样的命令。或者您可以先尝试使用 ProcessBuilder 启动 Notepad.exe 来分开。 你的操作系统是什么?如果是android,请使用标签。 @NomadMaker 请阅读帖子 :) OP 确实告诉了操作系统是什么 ;) 【参考方案1】:

您可以通过ProcessBuilder 执行cmd 命令来实现这样的操作。 我整理了一个适合我的程序:

public static void main(String[] args) throws Exception 

  JPanel panel = new JPanel();
  JFrame frame = new JFrame();
  frame.setSize(200, 200);
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  frame.add(panel);

  JButton button = new JButton("Standby");
  panel.add(button);
  frame.setVisible(true);

  button.addActionListener(new ActionListener() 

    @Override
    public void actionPerformed(ActionEvent e) 
      ProcessBuilder builder = new ProcessBuilder("cmd.exe", "/c", "rundll32.exe powrprof.dll,SetSuspendState");
      builder.redirectErrorStream(true);
      try 
        builder.start();
       catch (IOException e1) 
        e1.printStackTrace();
      
    
  );

也许您需要将命令“rundll32.exe powrprof.dll,SetSuspendState”更改为其他内容。

【讨论】:

以上是关于如何编写 jButton 以将笔记本电脑或设备切换到省电模式的主要内容,如果未能解决你的问题,请参考以下文章

【iOS】Swift4.0 横竖屏监测、动态切换

DELL笔记本如何切换用户

如何在 Java 中使用 JButton 重绘组件?

一个电脑显示器怎么连接两个电脑主机使用?

JavaGUI程序给按钮添加快捷键

笔记本电脑键盘怎么切换中文版