專案實戰: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包上傳到了我的資源中,需要的寶寶可以自行下載學習,代碼傳送門:自動關機程式,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/11698.html
標籤:其他
