資源簡介
java做的計算器,有兩個模式:科學計算器,簡單計算器

代碼片段和文件信息
package?com.chp01.test1;
import?java.awt.BorderLayout;
import?java.awt.Color;
import?java.awt.Font;
import?java.awt.GridLayout;
import?java.awt.event.ActionEvent;
import?java.awt.event.ActionListener;
import?javax.swing.JButton;
import?javax.swing.Jframe;
import?javax.swing.JMenu;
import?javax.swing.JMenuBar;
import?javax.swing.JMenuItem;
import?javax.swing.JPanel;
import?javax.swing.JTextField;
public?class?Calculator?extends?Jframe?implements?ActionListener?{
//?計算器上的鍵的顯示名字?*/
private?final?String[]?KEYS?=?{?“7“?“8“?“9“?“/“?“sqrt“?“4“?“5“?“6“
“*“?“%“?“1“?“2“?“3“?“-“?“1/x“?“0“?“+/-“?“.“?“+“?“=“?};
//?計算器上的功能鍵的顯示名字?*/
private?final?String[]?COMMAND?=?{?“←“?“CE“?“C“?};
//?計算器左邊的M的顯示名字?*/
private?final?String[]?M?=?{?“?“?“MC“?“MR“?“MS“?“M+“?};
//?計算器上鍵的按鈕?*/
private?JButton?keys[]?=?new?JButton[KEYS.length];
//?計算器上的功能鍵的按鈕?*/
private?JButton?commands[]?=?new?JButton[COMMAND.length];
//?計算器左邊的M的按鈕?*/
private?JButton?m[]?=?new?JButton[M.length];
//?計算結果文本框?*/
private?JTextField?resultText?=?new?JTextField(“0“);
//?標志用戶按的是否是整個表達式的第一個數字或者是運算符后的第一個數字
private?boolean?firstDigit?=?true;
//?計算的中間結果。
private?double?resultNum?=?0.0;
//?當前運算的運算符
private?String?operator?=?“=“;
//?操作是否合法
private?boolean?operateValidFlag?=?true;
/**
?*?構造函數
?*/
public?Calculator()?{
super();
//?初始化計算器
init();
JMenuBar?mb?=?new?JMenuBar();//創建菜單欄
JMenu?b1?=?new?JMenu(“操作“);
JMenu?b2?=?new?JMenu(“幫助“);
JMenuItem?c1?=?new?JMenuItem(“基本計算器“);
JMenuItem?c2?=?new?JMenuItem(“科學計算器“);
JMenuItem?c3?=?new?JMenuItem(“About...“);
setJMenuBar(mb);//添加菜單欄
mb.add(b1);
mb.add(b2);//添加菜單
b1.add(c2);
b1.add(c1);
b2.add(c3);
b1.setFont(new?Font(“宋體“?Font.PLAIN?17));
b2.setFont(new?Font(“宋?體“?Font.PLAIN?17));
c1.addActionListener(new?MenuItemListener());//監聽簡易計算
c2.addActionListener(new?MenuItemListener());//監聽科學計算
c3.addActionListener(new?MenuItemListener());//監聽關于
//?設置計算器的背景顏色
this.setBackground(Color.LIGHT_GRAY);
this.settitle(“計算器“);
//?在屏幕(300?200)坐標處顯示計算器
this.setLocation(300?200);
//?不許修改計算器的大小
this.setResizable(false);
//?使計算器中各組件大小合適
setVisible(true);
this.pack();
}
/**
?*?初始化計算器
?*/
private?void?init()?{
//?文本框中的內容采用右對齊方式
resultText.setHorizontalAlignment(JTextField.RIGHT);
//?不允許修改結果文本框
resultText.setEditable(false);
//?設置文本框背景顏色為白色
resultText.setBackground(Color.white);
//?初始化計算器上鍵的按鈕,將鍵放在一個畫板內
JPanel?calckeysPanel?=?new?JPanel();
//?用網格布局器,4行,5列的網格,網格之間的水平方向間隔為3個象素,垂直方向間隔為3個象素
calckeysPanel.setLayout(new?GridLayout(4?5?3?3));
for?(int?i?=?0;?i? keys[i]?=?new?JButton(KEYS[i]);
calckeysPanel.add(keys[i]);
keys[i].setForeground(Color.blue);
keys[i].setFont(new?Font(“微軟雅黑“?Font.BOLD?13));
}
//?運算符鍵用紅色標示,其他鍵用藍色表示
keys[3].setForeground(Color.black);
keys[8].setForeground(Color.black);
keys[13
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????9315??2016-06-30?10:06??test1\Calculator.java
?????文件???????1060??2016-06-30?13:26??test1\MenuItemListener.java
?????文件??????10257??2016-06-30?10:21??test1\ScienceCal.java
?????目錄??????????0??2016-06-30?09:49??test1
-----------?---------??----------?-----??----
????????????????20632????????????????????4
評論
共有 條評論