ホームページ >Java >&#&チュートリアル >`getActionCommand()` を使用して AWT 電卓で数字ボタンの値を取得する方法
AWT で getSource() を使用してボタンの値を取得する方法 (電卓の宿題)
この宿題では、シンプルなグラフィカル ユーザー インターフェイス (GUI) 計算機。電卓では、ユーザーが 2 つの数値を入力し、演算 (加算、減算、乗算、または除算) を選択して、結果を表示できる必要があります。
課題:
最初は getSource() メソッドを使用してどのボタンがクリックされたかを検出しようとしましたが、このアプローチは操作ボタンに対してのみ機能しました。ただし、教師は、実際の電卓と同じように、数字もボタンにすることを要求します。問題は、getSource() メソッドだけを使用して各数字ボタンの値を決定できないことです。
解決策:
この課題を克服して、次の値を取得するには各数字ボタン:
コード例:
このソリューションを実装する方法の例を次に示します:
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 サイトの他の関連記事を参照してください。