更新時間:2022-12-15 11:56:10 來源:動力節點 瀏覽1490次
動力節點小編這次用java的swing來實現計算器。
第一張圖:
總體布局采用流式布局。
1.文本框
只有一個文本框 JPanel 添加一個
JTextField.boxField.setLayout(new FlowLayout()); box.setPreferredSize(新維度(300, 25)); boxField.add(框);
JTextField 設置尺寸需要使用 setPreferredSize() 而不是 setSize()。
2.鑰匙
Key 4/*4 Grid layout , 逐一添加按鈕即可 .
buttonsField.setLayout(new GridLayout(4, 4, 20, 20)); buttonsField.setPreferredSize(新維度(300, 300)); buttonsField.add(xxx); //添加....
按鈕的鼠標事件,想一想,點擊一個按鈕,然后在文本框中會有相應的響應,相應地添加事件監聽
.num0.addActionListener(v -> { box.setText(box.getText() + " 0"); mainFrame.requestFocus(); });
requestFocus()這一行把焦點還給了JFrame,因為鼠標點擊button之后,button獲得了焦點,會影響后面的鍵盤監聽。
鍵盤事件和鼠標事件類似,對每個按鍵進行判斷。
這里是一個KeyListener注冊到JFrame上面,直接在里面改寫下面三個KeyListener方法:
public void keyPressed(KeyEvent e); public void keyReleased(KeyEvent e); public void keyTyped(KeyEvent e);
基本上通過
如果 (e.getKeyCode() == KeyEvent.VK_xxxx)
要確定密鑰,唯一需要注意的是 + 和 /*
計算表達式部分這里就不細說了。
簡單的說,先用GetResult.setExpression();
這個靜態方法設置表達式,然后傳遞
GetResult.valid() 方法
判斷是否合法,如果合法則通過
獲取結果.result()
獲取字符串結果。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習