Rumah >Java >javaTutorial >Bagaimana untuk Mendapatkan Nilai Butang Nombor dalam Kalkulator AWT Menggunakan `getActionCommand()`?

Bagaimana untuk Mendapatkan Nilai Butang Nombor dalam Kalkulator AWT Menggunakan `getActionCommand()`?

Linda Hamilton
Linda Hamiltonasal
2024-12-25 01:33:10498semak imbas

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

Cara Mendapatkan Nilai Butang Menggunakan getSource() dalam AWT (Kalkulator Kerja Rumah)

Dalam tugasan kerja rumah ini, anda ditugaskan untuk mencipta kalkulator antara muka pengguna grafik mudah (GUI). Kalkulator harus membenarkan pengguna memasukkan dua nombor dan memilih operasi (tambah, tolak, darab atau bahagi) dan kemudian memaparkan hasilnya.

Cabaran:

Pada mulanya, anda cuba menggunakan kaedah getSource() untuk mengesan butang yang diklik, tetapi pendekatan ini hanya berfungsi untuk butang operasi. Walau bagaimanapun, kini pengajar anda memerlukan nombor itu juga harus berupa butang, sama seperti dalam kalkulator sebenar. Isunya ialah anda tidak boleh menentukan nilai setiap butang nombor menggunakan kaedah getSource() sahaja.

Penyelesaian:

Untuk mengatasi cabaran ini dan mendapatkan nilai setiap butang nombor:

  1. Ubah Suai Reka Letak: Tukar susun atur GUI anda untuk disertakan butang nombor juga. Letakkan butang nombor dalam susunan tertentu, seperti susun atur kalkulator standard.
  2. Tetapkan Perintah Tindakan: Berikan arahan tindakan unik kepada setiap butang nombor menggunakan kaedah setActionCommand(). Sebagai contoh, anda boleh menetapkan arahan tindakan untuk menjadi teks pada butang (cth., "1", "2", "3").
  3. Kendalikan Klik Butang: Dalam kaedah actionPerformed() ActionListener, gunakan kaedah getActionCommand() untuk mendapatkan arahan tindakan yang dikaitkan dengan butang yang telah diklik. Arahan tindakan akan menjadi nilai butang.
  4. Proses Nilai: Setelah anda memperoleh nilai daripada butang nombor, anda boleh melakukan operasi aritmetik yang diperlukan (cth., penambahan, penolakan, dsb.) untuk mengira keputusan.

Kod Contoh:

Berikut ialah contoh bagaimana anda boleh melaksanakan penyelesaian ini:

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
}

Dengan pendekatan ini, anda boleh mendapatkan semula nilai butang nombor dengan menyemak getSource( ) dan kemudian menggunakan kaedah getActionCommand() untuk mendapatkan arahan tindakan yang berkaitan, yang mewakili nilai butang.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nilai Butang Nombor dalam Kalkulator AWT Menggunakan `getActionCommand()`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn