如何使用 getActionCommand() 檢索 AWT 計算器中的數字按鈕值?
如何在AWT 中使用getSource() 取得按鈕值(計算器作業)
在此作業中,您的任務是建立作業一個簡單的圖形使用者介面(GUI)計算器。計算器應允許使用者輸入兩個數字並選擇運算(加法、減法、乘法或除法),然後顯示結果。
挑戰:
最初,您嘗試使用 getSource() 方法來偵測點擊了哪個按鈕,但這種方法僅適用於操作按鈕。但是,現在您的老師要求數字也應該是按鈕,就像真正的計算器一樣。問題是您無法單獨使用 getSource() 方法來確定每個數字按鈕的值。
解決方案:
克服此挑戰並取得每個數字按鈕:
- 修改版面:變更GUI 佈局以包含數字按鈕也是如此。將數字按鈕放置在特定的排列中,例如標準計算器佈局。
- 指派操作指令:使用 setActionCommand() 方法為每個數字按鈕指派唯一的操作指令。例如,您可以將操作命令設定為按鈕上的文字(例如“1”、“2”、“3”)。
- 處理按鈕點選: 在ActionListener 的 actionPerformed() 方法,使用 getActionCommand() 方法取得與點選的按鈕關聯的操作指令。操作命令將是按鈕的值。
- 處理值:從數字按鈕取得數值後,您可以執行必要的算術運算(例如,加法、減法等)來計算結果。
程式碼範例:
以下是如何實作此解決方案的範例:
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中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

公司安全軟件導致部分應用無法正常運行的排查與解決方法許多公司為了保障內部網絡安全,會部署安全軟件。 ...

將姓名轉換為數字以實現排序的解決方案在許多應用場景中,用戶可能需要在群組中進行排序,尤其是在一個用...

在使用IntelliJIDEAUltimate版本啟動Spring...

系統對接中的字段映射處理在進行系統對接時,常常會遇到一個棘手的問題:如何將A系統的接口字段有效地映�...

在使用MyBatis-Plus或其他ORM框架進行數據庫操作時,經常需要根據實體類的屬性名構造查詢條件。如果每次都手動...

Java對象與數組的轉換:深入探討強制類型轉換的風險與正確方法很多Java初學者會遇到將一個對象轉換成數組的�...

Redis緩存方案如何實現產品排行榜列表的需求?在開發過程中,我們常常需要處理排行榜的需求,例如展示一個�...

電商平台SKU和SPU表設計詳解本文將探討電商平台中SKU和SPU的數據庫設計問題,特別是如何處理用戶自定義銷售屬...
