>Java >java지도 시간 >`getActionCommand()`를 사용하여 AWT 계산기에서 숫자 버튼 값을 검색하는 방법은 무엇입니까?

`getActionCommand()`를 사용하여 AWT 계산기에서 숫자 버튼 값을 검색하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-25 01:33:10451검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.