首頁 > Java > java教程 > 如何使用 getActionCommand() 檢索 AWT 計算器中的數字按鈕值?

如何使用 getActionCommand() 檢索 AWT 計算器中的數字按鈕值?

Linda Hamilton
發布: 2024-12-25 01:33:10
原創
451 人瀏覽過

How to Retrieve Number Button Values in an AWT Calculator Using `getActionCommand()`?

如何在AWT 中使用getSource() 取得按鈕值(計算器作業)

在此作業中,您的任務是建立作業一個簡單的圖形使用者介面(GUI)計算器。計算器應允許使用者輸入兩個數字並選擇運算(加法、減法、乘法或除法),然後顯示結果。

挑戰:

最初,您嘗試使用 getSource() 方法來偵測點擊了哪個按鈕,但這種方法僅適用於操作按鈕。但是,現在您的老師要求數字也應該是按鈕,就像真正的計算器一樣。問題是您無法單獨使用 getSource() 方法來確定每個數字按鈕的值。

解決方案:

克服此挑戰並取得每個數字按鈕:

  1. 修改版面:變更GUI 佈局以包含數字按鈕也是如此。將數字按鈕放置在特定的排列中,例如標準計算器佈局。
  2. 指派操作指令:使用 setActionCommand() 方法為每個數字按鈕指派唯一的操作指令。例如,您可以將操作命令設定為按鈕上的文字(例如“1”、“2”、“3”)。
  3. 處理按鈕點選: 在ActionListener 的 actionPerformed() 方法,使用 getActionCommand() 方法取得與點選的按鈕關聯的操作指令。操作命令將是按鈕的值。
  4. 處理值:從數字按鈕取得數值後,您可以執行必要的算術運算(例如,加法、減法等)來計算結果。

程式碼範例:

以下是如何實作此解決方案的範例:

import java.awt.*;
import java.awt.event.*;

public class NumberButtonCalculator implements ActionListener {

    // Create the GUI components
    private Button[] numberButtons = new Button[10];  // Number buttons
    private Button[] operationButtons = new Button[4];  // Operation buttons (+, -, *, /)
    private Label display;  // Display for result

    public NumberButtonCalculator() {
        // Initialize the GUI
        ... // Code to create the GUI components

        // Add action listeners to the number buttons
        for (Button button : numberButtons) {
            button.addActionListener(this);
        }

        // Add action listeners to the operation buttons
        for (Button button : operationButtons) {
            button.addActionListener(this);
        }
    }

    // Handle button clicks
    @Override
    public void actionPerformed(ActionEvent e) {
        // Get the source of the event
        Object source = e.getSource();

        // Handle number button clicks
        for (int i = 0; i < numberButtons.length; i++) {
            if (source == numberButtons[i]) {
                // Get the value of the number button
                int value = Integer.parseInt(numberButtons[i].getLabel());
                // Process the value...
            }
        }

        // Handle operation button clicks
        for (int i = 0; i < operationButtons.length; i++) {
            if (source == operationButtons[i]) {
                // Get the operation type
                String operation = operationButtons[i].getLabel();
                // Process the operation...
            }
        }
    }

    // ... // Other code
}
登入後複製

使用此方法,您可以透過檢查getSource( 來檢索數字按鈕的值),然後使用getActionCommand() 方法取得關聯的操作命令,該命令代表按鈕的值。

以上是如何使用 getActionCommand() 檢索 AWT 計算器中的數字按鈕值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板