【從零開始學 Java 程式設計】JButton 按鈕元件與 Event Listener 事件監聽

【從零開始學 Java 程式設計】 線上教學課程目錄,使用 Java 程式語言,開發應用程式。

JButton

JButton 按鈕元件,通常用來被點擊後來觸發執行特定事件

範例

新增一個 JButton 按鈕元件,並註冊監聽按鈕事件 (addActionListener),每點一下按鈕,紀錄被點ㄧ下。

關鍵程式碼

int click_count = 0;

public void addComponentsToPane(Container pane) {
    pane.setLayout(new BorderLayout());

    JButton btn = new JButton("點我");
    btn.setFont(new Font("Courier New", Font.BOLD, 30));
    btn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            btn.setText("我已經被點:" + click_count++ + " 下");
        }
    });
    pane.add(btn);
}

完整程式碼

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class DemoJButton {
    int click_count = 0;

    public void addComponentsToPane(Container pane) {
        pane.setLayout(new BorderLayout());

        JButton btn = new JButton("點我");
        btn.setFont(new Font("Courier New", Font.BOLD, 30));
        btn.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                btn.setText("我已經被點:" + click_count++ + " 下");
            }
        });
        pane.add(btn);
    }


    public DemoJButton() {

        JFrame frame = new JFrame("HKT線上教室");
        // 獲取螢幕解析度
        Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
        // 設定視窗大小佔螢幕四分之一
        frame.setSize(dimension.width / 2, dimension.height / 2);

        //設定視窗顯示在螢幕畫面中間位置
        int x = (int) ((dimension.getWidth() - frame.getWidth()) / 2);
        int y = (int) ((dimension.getHeight() - frame.getHeight()) / 2);
        frame.setLocation(x, y);

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//設定關閉可以關掉程式
        //在 Pane 畫面中加入元件
        addComponentsToPane(frame.getContentPane());
//        frame.pack();
        frame.setVisible(true);
    }

    //最一開始程式進入點
    public static void main(String[] args) {
        //使用 invokeLater 確保 UI 在排程執行緒內
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                new DemoJButton();
            }
        });
    }
}

參考資料


那這次的課程就介紹到這邊囉~
順帶一提,KT 線上教室,臉書粉絲團,會不定期發佈相關資訊,不想錯過最新資訊,不要忘記來按讚,加追蹤喔!也歡迎大家將這套課程分享給更多人喔。
我們下次再見囉!!!掰掰~

這個網誌中的熱門文章

2023 最新入門零基礎 Kotlin教學【從零開始學 Kotlin 程式設計】Kotlin 教學課程目錄 (Android Kotlin, IntelliJ IDEA, Android Studio, Android APP 開發教學)

nano 文字編輯器

最新入門零基礎 Java 教學【從零開始學 Java 程式設計】Java教學課程目錄 (IntelliJ IDEA 開發教學)

16天記下7000單字

Android Studio 歷代版本下載點