資源簡介
Java計算器 實現(xiàn)最簡單的加減乘除、開方、求倒數(shù)等。

代碼片段和文件信息
import?java.util.*;
import?javax.swing.*;
import?java.awt.*;
import?java.awt.event.*;
/**
?*?界面對象
?*/
public?class?Calframe?extends?Jframe?{
//?顯示計算結(jié)果的textField
private?JTextField?textField?=?null;
//?用一個數(shù)組保存MCMRMSM+等操作符
private?String[]?mOp?=?{?“MC“?“MR“?“MS“?“M+“?};
//?用一個數(shù)組保存結(jié)果操作符
private?String[]?rOp?=?{?“←“?“CE“?“C“?};
//?用一個數(shù)組保存數(shù)字與其它操作符
private?String[]?nOp?=?{?“7“?“8“?“9“?“÷“?“√“?“4“?“5“?“6“?“ד
“%“?“1“?“2“?“3“?“-“?“1/x“?“0“?“±“?“.“?“+“?“=“?};
//?M操作標(biāo)志按鈕
private?JButton?button?=?null;
//?業(yè)務(wù)邏輯類
private?CalService?service?=?new?CalService();
//?定義監(jiān)聽器
private?ActionListener?actionListener?=?null;?
//?設(shè)置panel的寬
private?final?int?PRE_WIDTH?=?370;
//?設(shè)置panel的高
private?final?int?PRE_HEIGHT?=?205;
/**
?*?默認(rèn)構(gòu)造器
?*/
Calframe()?{
super();
initialize();
}
/**
?*?初始化界面
?*?
?*?@return?void
?*/
private?void?initialize()?{
this.settitle(“揸槍計算器“);
this.setResizable(false);
//?增加計算輸入框
JPanel?panel?=?new?JPanel();
panel.setBackground(new?Color(000));
panel.setLayout(new?BorderLayout(5?1));
panel.add(getTextField()?BorderLayout.NORTH);
panel.setPreferredSize(new?Dimension(PRE_WIDTH?PRE_HEIGHT));
//?增加存儲操作鍵
JButton[]?mButton?=?getMButton();
JPanel?panel1?=?new?JPanel();
panel1.setLayout(new?GridLayout(5?1?0?4));
panel1.setBackground(new?Color(000));
for(JButton?b?:?mButton)
panel1.add(b);
//?增加結(jié)果操作鍵
JButton[]?rButton?=?getRButton();
JPanel?panel2?=?new?JPanel();
panel2.setBackground(new?Color(000));
panel2.setLayout(new?BorderLayout(5?1));
JPanel?panel2b?=?new?JPanel();
panel2b.setBackground(new?Color(000));
panel2b.setLayout(new?GridLayout(1?3?3?4));
for(JButton?b?:?rButton)
panel2b.add(b);
//?增加數(shù)字與其他運算符
JButton[]?nButton?=?getNButton();
JPanel?panel3?=?new?JPanel();
panel3.setBackground(new?Color(000));
panel3.setLayout(new?GridLayout(4?5?3?4));
for(JButton?b?:?nButton)
panel3.add(b);
//?把新增加的面板加到frame
panel2.add(panel2b?BorderLayout.NORTH);
panel2.add(panel3?BorderLayout.CENTER);
panel.add(panel1?BorderLayout.WEST);
panel.add(panel2?BorderLayout.CENTER);
this.add(panel);
}
/**
?*?這個方法用來獲取監(jiān)聽器
?*?
?*?@return?ActionListener
?*/
public?ActionListener?getActionListener()?{
if?(actionListener?==?null)?{
actionListener?=?new?ActionListener()?{
public?void?actionPerformed(ActionEvent?e)?{
String?cmd?=?e.getActionCommand();
String?result?=?null;
try?{
result?=?service.callMethod(cmd?textField.getText());
}?catch?(Exception?e1)?{
System.out.println(e1.getMessage());
}
if(cmd.indexOf(“MC“)?==?0)?{
button.setText(““);
}
else?{
button.setText(“M“);
}
if(result?!=?null)?{
textField.setText(result);
}
}
};
}
return?actionListener;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2011-08-09?17:18??Calculator\
?????文件?????????301??2011-08-09?17:18??Calculator\.classpath
?????文件?????????386??2011-08-09?17:51??Calculator\.project
?????目錄???????????0??2011-08-09?17:18??Calculator\.settings\
?????文件?????????629??2011-08-09?17:18??Calculator\.settings\org.eclipse.jdt.core.prefs
?????目錄???????????0??2011-08-09?17:18??Calculator\bin\
?????文件????????1643??2011-08-10?22:42??Calculator\bin\Calfr
?????文件????????5243??2011-08-10?22:42??Calculator\bin\Calfr
?????文件????????3950??2011-08-09?20:44??Calculator\bin\CalService.class
?????文件?????????537??2011-08-09?17:59??Calculator\bin\Main.class
?????文件????????1225??2011-08-09?18:06??Calculator\bin\MyMath.class
?????目錄???????????0??2011-08-09?17:18??Calculator\src\
?????文件????????5592??2011-08-10?22:42??Calculator\src\Calfr
?????文件????????5687??2011-08-09?20:44??Calculator\src\CalService.java
?????文件?????????292??2011-08-09?17:59??Calculator\src\Main.java
?????文件????????1821??2011-08-09?18:06??Calculator\src\MyMath.java
評論
共有 條評論