簡體   English   中英

簡單的 java 計算器

[英]Simple java calculator

我使用 Java Swing 創建了一個基本計算器。 我的問題是如何在面板上打印每個計算。 例如,我添加了兩個數字,我的面板應該看起來像 2 + 4 = 6,如果我執行另一個操作,它應該 append 面板中的另一個操作。

我的想法:我知道我可以使用標簽並更改標簽的值,但這不是一個好主意,因為隨着操作的增加我無法繼續添加標簽,我相信應該有辦法,但因為我是學習Swing,我需要一些專家的幫助。

有兩種可能:

  1. 使用 JTextArea 並將其設置為不可編輯。 文本區域控件將允許您添加多行文本,以便您可以隨意添加操作。

    textArea.setEditable(false);

  2. 在 Canvas 上將文本繪制為圖形。 這涉及更多一點,但您可以更好地控制文本的外觀和格式。

    g.drawString("a + b = c", x, y);

面板很可能從字符串中讀取。 在輸入輸入時嘗試使用StringBuilderStringBuffer到 append 到字符串。

這樣,如果您選擇添加更多操作,您還可以修改/刪除最后的“= 6”並添加另一個“+ 6 = 10”。 然后,當您想刷新面板上的最終結果而不創建全新的字符串時,請使用 toString()。

要么制作一個 JLabel,而不是添加新的並顯示它們,您可以使用 JLabel 上的 getText() 獲取文本,然后使用 append 獲取要添加的文本,最后使用 setText() 發送新的完整文本,以便一個 JLabel 中包含所有文本。 或者您可以制作一個 JPanel 或 JComponent(您可以使用 paintComponent(Graphics g) 繪制的東西,並使用 g.drawString() 來繪制一個字符串(這將是您的完整附加文本)和 x、y 位置要繪制 eggdrawString("2 + 6 = 8", 100, 120); 並且您必須在組件上調用 repaint() 才能更新文本。確保您可以將字符串存儲在組件可以訪問的地方,而繪畫。

我希望這有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM