ホームページ >Java >&#&チュートリアル >`getActionCommand()` を使用して AWT 電卓で数字ボタンの値を取得する方法

`getActionCommand()` を使用して AWT 電卓で数字ボタンの値を取得する方法

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-25 01:33:10448ブラウズ

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

AWT で getSource() を使用してボタンの値を取得する方法 (電卓の宿題)

この宿題では、シンプルなグラフィカル ユーザー インターフェイス (GUI) 計算機。電卓では、ユーザーが 2 つの数値を入力し、演算 (加算、減算、乗算、または除算) を選択して、結果を表示できる必要があります。

課題:

最初は 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。