您好,登錄后才能下訂單哦!
這篇文章主要介紹“java圖形界面之怎么實現加法計算器”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“java圖形界面之怎么實現加法計算器”文章能幫助大家解決問題。
第一步:
首先得構思,我們要做什么。加法計算器的話,做出來之后大概是這個樣子的。
如上圖所示,這個程序的界面在我們腦海中已經成型了:程序頂部有一個標題,這里用來交代我們程序的名字;功能上用戶可以在方框 1 和方框 2 中放入想要進行相加的數值,然后我們點擊下方的 “計算” 按鈕,結果就會顯示在方框 3 中。
第二步:
分析界面,我們該怎么做。從上圖可以看出,界面中包含 7 個控件 : 標題,方框 1 ,方框 2 ,方框 3,加號,等于號,還有一個 “計算” 按鈕。
此時我們腦海中應該已經有了相應的對策 :
方框 1 , 方框 2 用來接收用戶動態輸入的值,方框 3 用來顯示計算的結果;我們可以使用三個文本框來完成,其中方框 3 并不需要用戶輸入,我們可以給其設置用戶不可編輯屬性。
標題,加號和等于號,這三個控件始終不變,我們選擇靜態的標簽來完成。
“計算” 按鈕,當然得用按鈕控件來完成,但是如果只是一個平平無奇的按鈕,那可就沒有用了,我們需要為這個按鈕添加一個計算加法的事件響應,以便我們在單擊這個按鈕時,計算結果會出現在方框 3 中。
控件的使用選擇好了。我們還需要分析分析,想要實現如上圖所示的界面,我們需要幾個模塊。
兩個模塊:
1)標題 為一個模塊。
2)方框 1, 方框 2,方框 3,加號,等于號為一個模塊。
這是因為 方框 1, 方框 2,方框 3,加號,等于號 處于同一水平線上,而 標題 處于另一個水平線上。所以我們需要將其分為兩個模塊。(也許會感覺有點多此一舉,但程序設計就是這樣,死板且靈活,方法是固定的,但卻可以實現各種各樣的效果)。
在分為兩個水平模塊后,事情還沒有結束,我們還需要將這兩個水品模塊組合為一個垂直模塊(從上到下排列)。
按鈕我們待會兒隨意設置其位置,這里就不將其作為一個模塊了。
這樣,準備工作算是完成了。著手寫代碼吧。
代碼實現:
import java.awt.Color; import java.awt.Component; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; public class MyWin extends JFrame implements ActionListener{ JTextField rValue = new JTextField(8); JTextField lValue = new JTextField(8); JTextField result = new JTextField(8); JButton calcul = new JButton("計算"); MyWin() { /**布局設計**/ setTitle("加法計算器"); setLayout(null); setBounds(680, 300, 512, 380); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel myTitle = new JPanel(); myTitle.add(new JLabel("加法計算器 - v1.0")); JPanel myText = new JPanel(); myText.add(rValue); myText.add(new JLabel(" + ")); myText.add(lValue); myText.add(new JLabel(" = ")); result.setEditable(false); result.setBackground(Color.LIGHT_GRAY); myText.add(result); Box myMain = Box.createVerticalBox(); Component strut1 = Box.createVerticalStrut(20); Component strut2 = Box.createVerticalStrut(200); myMain.add(strut1); myMain.add(myTitle); myMain.add(myText); myMain.add(strut2); myMain.setBounds(0, 0, 512, 380); add(myMain); calcul.setBounds(200, 220, 100, 60); add(calcul); /**事件監聽**/ calcul.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub try { int rVal = Integer.valueOf(rValue.getText()); int lVal = Integer.valueOf(lValue.getText()); int res = rVal + lVal; result.setText(String.valueOf(res)); } catch (Exception e1) { System.out.println(e1); } } }); } @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub } }
上述代碼中:
1 ~ 5 行,導入了需要使用到的包。
想要實現窗口界面,首先我們需要一個窗口。
7 ~ 70 行,定義了一個窗口類并在其構造函數中具體實現了控件的初始化。該窗口類繼承自 JAVA 提供的JFrame 窗口類,并實現了JAVA 提供的 ActionListener 事件響應接口(我們使用該窗口類作為自己的事件監聽器)。
8 ~ 11 行,將文本框與按鈕控件作為類的成員屬性,因為在程序運行時他們的狀態需要保存下來,如果將其定義在某個函數中,該函數結束時,控件的生命周期也會結束,控件的狀態已經其中的值無法保存,我們便無法完成后序的其他操作。其中 8,9,10 行文本框控件使用有參構造定義,表示該文本框控件最大可顯示 8 位字符。
13 ~ 63 行,實現窗口類的構造函數。
15 行,設置窗口標題。
16 行,設置窗口布局為 null 布局,即我們需要設置每一個控件的位置。
17 行,設置窗口程序運行時出現在屏幕上時的初始位置和窗口大小。
18 行,設置窗口可見。若設置為 false ,則窗口不可見(你什么也看不到)。
19 行,設置點擊窗口右上角叉叉時程序的事件響應。我這里設置為 EXIT_ON_CLOSE ,即點擊后退出程序。
21 行,定義一個 myTitle 面板(即為上文中第一個模塊),用來存放我們的標題。
22 行,往 mytitle 面板中增加了我們的標題文本標簽。
23 ~ 30,定義 myText 面板(第二個模塊)并往其中添加了類成員屬性中的三個文本框控件。其中 28 行設置接受結果的文本框的屬性為不可編輯,29 行設置其顏色為亮灰色。
32 ~ 39 行,我們將上面定義的兩個面板(兩個模塊)放入了一個垂直盒子中(將兩個模塊組合)。
其中 33,34 行我設置了兩個支撐體,用來控制兩個模塊之間的距離。
40 行,將裝有兩個面板的盒子添加到當前窗口。
42 行,設置 “計算” 按鈕出現在窗口中的位置和按鈕的大小。
43 行,將按鈕添加到當前窗口。
46 ~ 62 行,為 “計算” 按鈕注冊監聽器并實現事件響應函數(將兩個文本框內的字符串轉化為整形數據進行加法計算后,將結果輸出在接收結果的文本框中)。
在相同包下的 Test 文件中測試一下程序。
public class Test { public static void main(String[] args) { // TODO Auto-generated method stub MyWin a = new MyWin(); } }
運行效果:
關于“java圖形界面之怎么實現加法計算器”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。