📄 computer.java
字号:
/* * To change this template, choose Tools | Templates * and open the template in the editor. */package computer;/** * * @author Yuyin Li */import java.awt.*;import java.awt.event.*;//主类Computer继承Frame类实现ActionListener接口public class Computer extends Frame implements ActionListener { TextField t = new TextField(""); //创建一个文本框(输入数字和密码) Choice ch = new Choice(); //创建一个下拉框(显示源文件)//创建四个复选框 Checkbox ck1 = new Checkbox("十六进制"); Checkbox ck2 = new Checkbox("十进制"); Checkbox ck3 = new Checkbox("八进制"); Checkbox ck4 = new Checkbox("二进制");//创建一个文本域(显示运算结果和菜单项内容) TextArea tt = new TextArea(1, 1); //创建一个标签(显示提示内容) Label l = new Label(" 欢 迎 您 使 用 计 算 器"); //创建一个标签 MenuBar mb = new MenuBar(); //创建一个菜单条 //创建四个菜单 Menu menu1 = new Menu("文件(F)"); Menu menu2 = new Menu("编辑(E)"); Menu menu3 = new Menu("帮助(H)"); Menu menu4 = new Menu("查看(V)"); //创建九个菜单项 MenuItem mm1 = new MenuItem("复制(C) Ctrl+C"); MenuItem mm2 = new MenuItem("粘贴(P) Ctrl+V"); MenuItem mm3 = new MenuItem("帮助主题(h)"); MenuItem mm4 = new MenuItem("退出(EXIT)"); MenuItem mm5 = new MenuItem("关于计算器(a)"); MenuItem mm6 = new MenuItem("标准型(T)"); MenuItem mm7 = new MenuItem("科学型(S)"); MenuItem mm8 = new MenuItem("源文件(c)"); MenuItem mm9 = new MenuItem("清空(CE)"); ScrollPane sp = new ScrollPane(); //创建一个滚动板 //创建13个面板 Panel ppp = new Panel(); //添加复选框(ck1,ck2,ck3,ck4) Panel pp = new Panel(); //添加面板(ppp,p,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9),添加下拉框(ch) Panel p = new Panel(); //添加标签(l) Panel p0 = new Panel(); //添加文本域(tt) Panel p1 = new Panel(); //添加文本框(t) Panel p2 = new Panel(); //添加按钮(b1,b2,b3,b0,bg,bk,bo) Panel p3 = new Panel(); //添加按钮(b4,b5,b6,be,bh,bl,bp) Panel p4 = new Panel(); //添加按钮(b7,b8,b9,bf,bm,bi,V) Panel p5 = new Panel(); //添加按钮(ba,bb,bc,bd,bj,bn,br) Panel p6 = new Panel(); //添加按钮(A,B,C,D,E,F,G) Panel p7 = new Panel(); //添加按钮(H,I,J,K,L,M,N) Panel p8 = new Panel(); //添加按钮(O,P,Q,R,S,T,U) Panel p9 = new Panel(); //添加按钮(bq,W,X,Y,Z,i,bbb) //创建56个按钮 Button bbb = new Button("EXIT"); Button i = new Button("提示"); Button b0 = new Button("0"); Button b1 = new Button("1"); Button b2 = new Button("2"); Button b3 = new Button("3"); Button b4 = new Button("4"); Button b5 = new Button("5"); Button b6 = new Button("6"); Button b7 = new Button("7"); Button b8 = new Button("8"); Button b9 = new Button("9"); Button ba = new Button("+"); Button bb = new Button("-"); Button bc = new Button("*"); Button bd = new Button("/"); Button be = new Button("."); Button bf = new Button("="); Button bg = new Button("sin"); Button bh = new Button("cos"); Button bi = new Button("tan"); Button bj = new Button("sqrt"); Button bk = new Button("CE"); Button bl = new Button("exp"); Button bm = new Button("log"); Button bn = new Button("abs"); Button bo = new Button("负号"); Button bp = new Button("P"); Button bq = new Button("C"); Button br = new Button("E"); Button A = new Button("a"); Button B = new Button("b"); Button C = new Button("c"); Button D = new Button("d"); Button E = new Button("e"); Button F = new Button("f"); Button G = new Button("g"); Button H = new Button("h"); Button I = new Button("i"); Button J = new Button("j"); Button K = new Button("k"); Button L = new Button("l"); Button M = new Button("m"); Button N = new Button("n"); Button O = new Button("o"); Button P = new Button("p"); Button Q = new Button("q"); Button R = new Button("r"); Button S = new Button("s"); Button T = new Button("t"); Button U = new Button("u"); Button V = new Button("PI"); Button W = new Button("w"); Button X = new Button("x"); Button Y = new Button("y"); Button Z = new Button("z"); //声明几个变量 String s1, //得到加号前文本框t中的内容 s2, //得到加号后文本框t中的内容 mem; ///得到文本域tt中的内容 double u1, //表示s1被强类型转化为浮点数后的数 u2, //表示s2被强类型转化为浮点数后的数 u3; //表示u1与u2运算后的数 char op; //记录运算过程中的运算符 //构造函数 public Computer() { this.setTitle("J.S.L-Minic Calculator"); //为窗口添加标题 sp.setSize(650, 685); //设置滚动板大小 mm1.setActionCommand("Copy"); mm2.setActionCommand("Paste"); i.addActionListener(this); pp.setLayout(new GridLayout(13, 1, 5, 5)); //设置面板的布局格式 pp.setBackground(Color.blue); //设置面板的背景色 //设置菜单字体大小 menu1.setFont(new java.awt.Font("Dialog", 0, 20)); menu2.setFont(new java.awt.Font("Dialog", 0, 20)); menu3.setFont(new java.awt.Font("Dialog", 0, 20)); menu4.setFont(new java.awt.Font("Dialog", 0, 20)); //设置复选框字体大小 ck1.setFont(new java.awt.Font("Dialog", 0, 20)); ck2.setFont(new java.awt.Font("Dialog", 0, 20)); ck3.setFont(new java.awt.Font("Dialog", 0, 20)); ck4.setFont(new java.awt.Font("Dialog", 0, 20)); //设置按钮字体大小 bbb.setFont(new java.awt.Font("Dialog", 0, 30)); i.setFont(new java.awt.Font("Dialog", 0, 30)); t.setFont(new java.awt.Font("Dialog", 0, 30)); tt.setFont(new java.awt.Font("Dialog", 0, 30)); l.setFont(new java.awt.Font("Dialog", 0, 30)); ba.setFont(new java.awt.Font("Dialog", 0, 30)); bb.setFont(new java.awt.Font("Dialog", 0, 30)); bc.setFont(new java.awt.Font("Dialog", 0, 30)); bd.setFont(new java.awt.Font("Dialog", 0, 30)); be.setFont(new java.awt.Font("Dialog", 0, 30)); bf.setFont(new java.awt.Font("Dialog", 0, 30)); bp.setFont(new java.awt.Font("Dialog", 0, 30)); bq.setFont(new java.awt.Font("Dialog", 0, 30)); b0.setFont(new java.awt.Font("Dialog", 0, 30)); b1.setFont(new java.awt.Font("Dialog", 0, 30)); b2.setFont(new java.awt.Font("Dialog", 0, 30)); b3.setFont(new java.awt.Font("Dialog", 0, 30)); b4.setFont(new java.awt.Font("Dialog", 0, 30)); b5.setFont(new java.awt.Font("Dialog", 0, 30)); b6.setFont(new java.awt.Font("Dialog", 0, 30)); b7.setFont(new java.awt.Font("Dialog", 0, 30)); b8.setFont(new java.awt.Font("Dialog", 0, 30)); b9.setFont(new java.awt.Font("Dialog", 0, 30)); A.setFont(new java.awt.Font("Dialog", 0, 30)); B.setFont(new java.awt.Font("Dialog", 0, 30)); C.setFont(new java.awt.Font("Dialog", 0, 30)); D.setFont(new java.awt.Font("Dialog", 0, 30)); E.setFont(new java.awt.Font("Dialog", 0, 30)); F.setFont(new java.awt.Font("Dialog", 0, 30)); G.setFont(new java.awt.Font("Dialog", 0, 30)); H.setFont(new java.awt.Font("Dialog", 0, 30)); I.setFont(new java.awt.Font("Dialog", 0, 30)); J.setFont(new java.awt.Font("Dialog", 0, 30)); K.setFont(new java.awt.Font("Dialog", 0, 30)); L.setFont(new java.awt.Font("Dialog", 0, 30)); M.setFont(new java.awt.Font("Dialog", 0, 30)); N.setFont(new java.awt.Font("Dialog", 0, 30)); O.setFont(new java.awt.Font("Dialog", 0, 30)); P.setFont(new java.awt.Font("Dialog", 0, 30)); Q.setFont(new java.awt.Font("Dialog", 0, 30)); R.setFont(new java.awt.Font("Dialog", 0, 30)); S.setFont(new java.awt.Font("Dialog", 0, 30)); T.setFont(new java.awt.Font("Dialog", 0, 30)); U.setFont(new java.awt.Font("Dialog", 0, 30)); W.setFont(new java.awt.Font("Dialog", 0, 30)); X.setFont(new java.awt.Font("Dialog", 0, 30)); Y.setFont(new java.awt.Font("Dialog", 0, 30)); Z.setFont(new java.awt.Font("Dialog", 0, 30));//设置文本框t,文本域tt,及标签l的前景色 t.setForeground(Color.white); l.setForeground(Color.green); tt.setForeground(Color.red); // 设置文本框t,文本域tt,及标签l的背景色 t.setBackground(Color.getColor("", 1000000)); tt.setBackground(Color.getColor("", 1000000000)); //设置所有按钮的背景色 i.setBackground(Color.ORANGE); bbb.setBackground(Color.yellow); b0.setBackground(Color.red); b1.setBackground(Color.GREEN); b2.setBackground(Color.ORANGE); b3.setBackground(Color.yellow); b4.setBackground(Color.green); b5.setBackground(Color.orange); b6.setBackground(Color.yellow); b7.setBackground(Color.red); b8.setBackground(Color.YELLOW); b9.setBackground(Color.red); ba.setBackground(Color.green); bb.setBackground(Color.yellow); bc.setBackground(Color.red); bd.setBackground(Color.green); be.setBackground(Color.orange); bf.setBackground(Color.pink); bg.setBackground(Color.red); bh.setBackground(Color.yellow); bi.setBackground(Color.green); bj.setBackground(Color.orange); bk.setBackground(Color.red); bl.setBackground(Color.yellow); bm.setBackground(Color.green); bn.setBackground(Color.orange); bo.setBackground(Color.red); bp.setBackground(Color.yellow); bq.setBackground(Color.green); br.setBackground(Color.orange); A.setBackground(Color.green); B.setBackground(Color.ORANGE); C.setBackground(Color.red); D.setBackground(Color.yellow); E.setBackground(Color.GREEN); F.setBackground(Color.red); G.setBackground(Color.orange); H.setBackground(Color.green); I.setBackground(Color.red); J.setBackground(Color.yellow); K.setBackground(Color.orange); L.setBackground(Color.green); M.setBackground(Color.yellow); N.setBackground(Color.red); O.setBackground(Color.orange); P.setBackground(Color.green); Q.setBackground(Color.red); R.setBackground(Color.yellow); S.setBackground(Color.orange); T.setBackground(Color.red); U.setBackground(Color.orange); V.setBackground(Color.red); W.setBackground(Color.yellow); X.setBackground(Color.orange); Y.setBackground(Color.GREEN); Z.setBackground(Color.red); this.add(sp); //窗口添加滚动板sp sp.add(pp); //滚动板sp添加面板pp pp.add(ch); //面板pp添加下拉框ch pp.add(p); //面板pp添加面板p this.setMenuBar(mb); //窗口添加滚动条sp //滚动条sp上添加四个菜单(menu1,menu2,menu3,menu4) mb.add(menu1); mb.add(menu2); mb.add(menu4); mb.add(menu3); //菜单menu1上添加菜单项(mm9,mm4) menu1.add(mm9); menu1.add(mm4); //菜单menu2上添加菜单项(mm1,mm2) menu2.add(mm1); menu2.add(mm2); //菜单menu3上添加菜单项(mm3,mm5) menu3.add(mm3); menu3.add(mm5); //菜单menu1上添加菜单项(mm6,mm7,mm8) menu4.add(mm6); menu4.add(mm7); menu4.add(mm8); //面板pp上添加面板(p0,p1,ppp,p2,p3,p4,p5,p6,p7,p8,p9) pp.add(p0); pp.add(p1); pp.add(ppp); pp.add(p2); pp.add(p3); pp.add(p4); pp.add(p5); pp.add(p6); pp.add(p7); pp.add(p8); pp.add(p9); p.setLayout(new BorderLayout()); //面板p设置布局格式为 BorderLayout p.add(l); //面板p上添加标签l p0.setLayout(new BorderLayout()); //面板p设置布局格式为 BorderLayout p0.add(tt); //面板pp上添加文本域tt p1.setLayout(new BorderLayout()); //面板p1设置布局格式为 BorderLayout p1.add(t); //面板p1添加文本框t ppp.setLayout(new GridLayout(1, 4, 5, 5)); //面板ppp设置布局格式为GridLayout // 面板ppp添加复选框(ck1,ck2,ck3,ck4) ppp.add(ck1); ppp.add(ck2); ppp.add(ck3); ppp.add(ck4); p2.setLayout(new GridLayout(1, 7, 5, 5)); //面板p2设置布局格式为GridLayout p3.setLayout(new GridLayout(1, 7, 5, 5)); //面板p3设置布局格式为GridLayout p4.setLayout(new GridLayout(1, 7, 5, 5)); //面板p4设置布局格式为GridLayout p5.setLayout(new GridLayout(1, 7, 5, 5)); //面板p5设置布局格式为GridLayout p6.setLayout(new GridLayout(1, 7, 5, 5)); //面板p6设置布局格式为GridLayout p7.setLayout(new GridLayout(1, 7, 5, 5)); //面板p7设置布局格式为GridLayout p8.setLayout(new GridLayout(1, 7, 5, 5)); //面板p8设置布局格式为GridLayout p9.setLayout(new GridLayout(1, 7, 5, 5)); //面板p9设置布局格式为GridLayout//面板p2上添加按钮(b1,b2,b3,b0,bg,bk,bo) p2.add(b1); p2.add(b2); p2.add(b3); p2.add(b0); p2.add(bg); p2.add(bk); p2.add(bo); //面板p3上添加按钮(b4,b5,b6,be,bh,bl,bp) p3.add(b4); p3.add(b5); p3.add(b6); p3.add(be); p3.add(bh); p3.add(bl); p3.add(bp); //面板p4上添加按钮(b7,b8,b9,bf,bm,bi,V) p4.add(b7); p4.add(b8); p4.add(b9); p4.add(bf); p4.add(bm); p4.add(bi); p4.add(V); //面板p5上添加按钮(ba,bb,bc,bd,bj,bn,br) p5.add(ba); p5.add(bb); p5.add(bc); p5.add(bd); p5.add(bj); p5.add(bn); p5.add(br); //面板p6上添加按钮(A,B,C,D,E,F,G) p6.add(A); p6.add(B); p6.add(C); p6.add(D); p6.add(E); p6.add(F); p6.add(G); //面板P7上添加按钮(H,I,J,K,L,M,N) p7.add(H); p7.add(I);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -