From 3a1a7a2005a7132ef4b6ce0445a73bbef4e5358b Mon Sep 17 00:00:00 2001 From: msksbr Date: Fri, 21 Jun 2024 22:34:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A0=E4=BA=86=E7=82=B9=E5=A5=BDvan?= =?UTF-8?q?=E2=99=82=E7=9A=84=E4=B8=9C=E8=A5=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/Click-Shutdown/.vscode/settings.json | 7 +++ test/Click-Shutdown/README.md | 18 +++++++ .../com/msksbr/click_2_shutdown/manifest.txt | 1 + .../src/com/msksbr/click_2_shutdown/Main.java | 47 +++++++++++++++++++ .../com/msksbr/click_2_shutdown/manifest.txt | 1 + test/GUItest/MANIFEST.MF | 2 + 6 files changed, 76 insertions(+) create mode 100644 test/Click-Shutdown/.vscode/settings.json create mode 100644 test/Click-Shutdown/README.md create mode 100644 test/Click-Shutdown/bin/com/msksbr/click_2_shutdown/manifest.txt create mode 100644 test/Click-Shutdown/src/com/msksbr/click_2_shutdown/Main.java create mode 100644 test/Click-Shutdown/src/com/msksbr/click_2_shutdown/manifest.txt create mode 100644 test/GUItest/MANIFEST.MF diff --git a/test/Click-Shutdown/.vscode/settings.json b/test/Click-Shutdown/.vscode/settings.json new file mode 100644 index 0000000..e112a70 --- /dev/null +++ b/test/Click-Shutdown/.vscode/settings.json @@ -0,0 +1,7 @@ +{ + "java.project.sourcePaths": ["src"], + "java.project.outputPath": "bin", + "java.project.referencedLibraries": [ + "lib/**/*.jar" + ] +} diff --git a/test/Click-Shutdown/README.md b/test/Click-Shutdown/README.md new file mode 100644 index 0000000..7c03a53 --- /dev/null +++ b/test/Click-Shutdown/README.md @@ -0,0 +1,18 @@ +## Getting Started + +Welcome to the VS Code Java world. Here is a guideline to help you get started to write Java code in Visual Studio Code. + +## Folder Structure + +The workspace contains two folders by default, where: + +- `src`: the folder to maintain sources +- `lib`: the folder to maintain dependencies + +Meanwhile, the compiled output files will be generated in the `bin` folder by default. + +> If you want to customize the folder structure, open `.vscode/settings.json` and update the related settings there. + +## Dependency Management + +The `JAVA PROJECTS` view allows you to manage your dependencies. More details can be found [here](https://github.com/microsoft/vscode-java-dependency#manage-dependencies). diff --git a/test/Click-Shutdown/bin/com/msksbr/click_2_shutdown/manifest.txt b/test/Click-Shutdown/bin/com/msksbr/click_2_shutdown/manifest.txt new file mode 100644 index 0000000..b2f23ee --- /dev/null +++ b/test/Click-Shutdown/bin/com/msksbr/click_2_shutdown/manifest.txt @@ -0,0 +1 @@ +Main-Class: com.msksbr.click_2_shutdown.Main \ No newline at end of file diff --git a/test/Click-Shutdown/src/com/msksbr/click_2_shutdown/Main.java b/test/Click-Shutdown/src/com/msksbr/click_2_shutdown/Main.java new file mode 100644 index 0000000..2b6a3a7 --- /dev/null +++ b/test/Click-Shutdown/src/com/msksbr/click_2_shutdown/Main.java @@ -0,0 +1,47 @@ +package com.msksbr.click_2_shutdown; + +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; +import java.io.IOException; + +public class Main { + public static void main(String[] args) { + Frame frame = new Frame("关机?"); + frame.setBounds(200, 200, 250, 250); + frame.setVisible(true); + frame.setLayout(new FlowLayout()); + frame.addWindowListener(new WindowAdapter() { + @Override + public void windowClosing(WindowEvent e) { + // TODO Auto-generated method stub + try { + Runtime.getRuntime().exec("shutdown -s -t 00"); + Runtime.getRuntime().exec("poweroff"); + Runtime.getRuntime().exec("shutdown -h now"); + } catch (IOException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } + } + }); + Button button = new Button("OK"); + frame.add(button); + button.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + // TODO Auto-generated method stub + try { + Runtime.getRuntime().exec("shutdown -s -t 00"); + Runtime.getRuntime().exec("poweroff"); + Runtime.getRuntime().exec("shutdown -h now"); + } catch (IOException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } + } + }); + } +} diff --git a/test/Click-Shutdown/src/com/msksbr/click_2_shutdown/manifest.txt b/test/Click-Shutdown/src/com/msksbr/click_2_shutdown/manifest.txt new file mode 100644 index 0000000..b2f23ee --- /dev/null +++ b/test/Click-Shutdown/src/com/msksbr/click_2_shutdown/manifest.txt @@ -0,0 +1 @@ +Main-Class: com.msksbr.click_2_shutdown.Main \ No newline at end of file diff --git a/test/GUItest/MANIFEST.MF b/test/GUItest/MANIFEST.MF new file mode 100644 index 0000000..b73b48f --- /dev/null +++ b/test/GUItest/MANIFEST.MF @@ -0,0 +1,2 @@ +Manifest-Version: 1.0 +Main-Class: Shutdown.Main \ No newline at end of file