如何在 AWT 中使用 getSource() 获取按钮值(计算器作业)
在此作业中,您的任务是创建一个简单的图形用户界面(GUI)计算器。计算器应允许用户输入两个数字并选择运算(加法、减法、乘法或除法),然后显示结果。
挑战:
最初,您尝试使用 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中文网其他相关文章!