用java编写一个简易的计算器代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.eve nt.Act ion Eve nt;
import java.awt.eve nt.Act ion Liste ner;
import java.awt.eve nt.KeyEve nt;
import java.awt.eve nt.KeyListe ner;
import javax.swi ng.JButt on;
import javax.swi ng.JFrame;
import javax.swi ng.JPa nel;
import javax.swi ng.JTextField;
/* 使用java 语言开发一个简易计算器
*
*
*/
public class TestJsq exte nds JFrame impleme nts Actio nListe ner, KeyListe ner { private JTextField jtf;
private JButt on jb_bk, jb_ce, jb_c;
private String xs ="";
private double sum = 0;
private int fh;
public static void main( Stri ng[] args) {
new TestJsq().creatCUI();
}
public void creatCUI() {
JFrame jf = new JFrame();
jf.setTitle(" 计算器");
jtf = new JTextField("0.");
jtf.setHorizo ntalAlig nmen t(JTextField.RIGHT);
jf.add(jtf, BorderLayout.NORTH);
JPa nel jp_ma in = new JPa nel( new BorderLayout()); jf.add(jp_ma
in);
JPa nel jp1 = new JPanel(new GridLayout(1,3, 1, 1)); jb_bk = new
JButto n( "Backspace");
jb_bk.setForegrou nd(Color.RED); jb_bk.addAct ion Liste ner(this); jb_ce = new JButto n( "CE");
jb_ce.setForegro un d(Color.RED);
jb_ce.addAct ion Liste ner(this);
jb_c = new JButto n( "C");
jb_c.setForegro un d(Color.RED); jb_c.addActi on Liste n
er(this); jp1.add(jb_bk);
jp1.add(jb_ce);
jp1.add(jb_c);
jp_mai n.add(jp1, BorderLayout.NORTH);
JPa nel jp2 = new JPa nel( new GridLayout(4, 5,1,1));
String str[] 一{ "7", "8", "9", "/", "sqrt", "4", "5", "6", "*", "%",
"1" "2" "3" " " "1/x" "0" "+/" "" "+" "一" }
for (i nt
i
= :0; i < 20; i++) {
JButton jb = new JButt on (str[i]);
jb.addAct ion Liste n er(this);
jb.setForegro un d(Color.blue);
if (i 一一 3 || i 一一8 || i 一一13 || i 一一18 || i
一一19) {
jb.setForegro un d(Color.RED);
jp2.add(jb);
}
jp_mai n.add(jp2, BorderLayout.CENTER);
jf.setResizable(false);
jf.setBou nds(50, 50, 350, 350);
jf.setVisible(true);
@Override
public void acti on Performed(Acti on Eve nt e) {
Stri ng s 一 e.getAct ion Comma n d(); if (s.equals("CE") ||
s.equals("C")) {
jtf.setText("0.");
} else if (s.equals("Backspace")) {
Stri ng str 一xs.substri n g(0, xs」en gth() - 1); xs 一
str; jtf.setText(xs);
} else if (s.equals("7") || s.equals("8") || s.equals("9")
|| s.equals("4") || s.equals("5") || s.equals("6")