1、java多功能计算器import java.awt.*;import java.lang.*;import javax.swing.*;import javax.swing.event.*;import java.awt.event.*;import java.text.DecimalFormat;public class Calculator implements ActionListener int mid; int fchange; long ianswer; long ivard; JFrame frame; JTextField textAnswer; JPanel panel, p
2、anel1, panel2, panel3, p4; JMenuBar mainMenu; JTextField textMemory; JLabel labelMemSpace; JButton buttonBk, buttonCe, buttonC; JButton button; JButton buttonMC, buttonMR, buttonMS, buttonMAdd; JButton bsin, bcos, bpi, bmod, bxy, bx3, bln, btan, bx2, bn; JButton ba, bb, bc, bd, be, bf; JButton butto
3、nDot, buttonAddAndSub, buttonAdd, buttonSub, buttonMul, buttonDiv, buttonmod; JButton buttonsqrt, buttonDao, buttonEqual; ButtonGroup group; JMenu editMenu, viewMenu, helpMenu; JMenuItem copyItem, pasteItem, tItem, sItem, numberGroup, topHelp, aboutCal; DecimalFormat df; JRadioButton rb1, rb2, rb3,
4、rb4; boolean clickable; boolean frist; double memoryd; int memoryi; double vard, answerd; short key = -1, prekey = -1; String copy; JTextArea help; JScrollPane scrollHelp; / 构造函数 public Calculator() rb1 = new JRadioButton(16进制); rb1.addActionListener(this); rb2 = new JRadioButton(10进制); rb2.addActio
5、nListener(this); rb3 = new JRadioButton(2进制); rb3.addActionListener(this); rb4 = new JRadioButton(8进制); rb4.addActionListener(this); group = new ButtonGroup(); group.add(rb1); group.add(rb2); group.add(rb3); group.add(rb4); rb2.setSelected(true); p4 = new JPanel(); p4.setLayout(new GridLayout(1, 3);
6、 p4.add(rb1); p4.add(rb2); p4.add(rb4); p4.add(rb3); clickable = true; answerd = 0; frist = true; frame = new JFrame(计算器); df = new DecimalFormat(0.#); textAnswer = new JTextField(15); textAnswer.setEditable(false); textAnswer.setBackground(new Color(255, 255, 255); panel = new JPanel(); frame.getCo
7、ntentPane().add(panel); panel1 = new JPanel(); panel2 = new JPanel(); panel.setLayout(new BorderLayout(); mainMenu = new JMenuBar(); editMenu = new JMenu(编辑(E); viewMenu = new JMenu(查看(V); helpMenu = new JMenu(帮助(H); copyItem = new JMenuItem( 复制(C) Ctrl+C); copyItem.addActionListener(this); pasteIte
8、m = new JMenuItem( 粘贴(V) Ctrl+V); pasteItem.addActionListener(this); editMenu.add(copyItem); editMenu.add(pasteItem); tItem = new JMenuItem( 标准型(T); tItem.addActionListener(this); sItem = new JMenuItem( 科学型(S); sItem.addActionListener(this); numberGroup = new JMenuItem( 数字分组(I); numberGroup.addActio
9、nListener(this); viewMenu.add(tItem); viewMenu.add(sItem); viewMenu.add(numberGroup); topHelp = new JMenuItem( 帮助主题(H); topHelp.addActionListener(this); help = new JTextArea(5, 20); scrollHelp = new JScrollPane(help); help.setEditable(false); help.append(执行简单计算n); help.append(1. 键入计算的第一个数字。n); help.
10、append(2. 单击“+”执行加、“-”执行减、“*”执行乘或“/”执行除。n); help.append(3. 键入计算的下一个数字。n); help.append(4. 输入所有剩余的运算符和数字。n); help.append(5. 单击“=”。n); aboutCal = new JMenuItem( 关于计算器(A); aboutCal.addActionListener(this); helpMenu.add(topHelp); helpMenu.add(aboutCal); mainMenu.add(editMenu); mainMenu.add(viewMenu); mai
11、nMenu.add(helpMenu); panel.add(mainMenu, BorderLayout.NORTH); panel.add(textAnswer, BorderLayout.CENTER); panel.add(panel1, BorderLayout.SOUTH); panel1.setLayout(new BorderLayout(); textMemory = new JTextField(3); textMemory.setEditable(false); textMemory.setBackground(new Color(217, 217, 217); labe
12、lMemSpace = new JLabel( ); buttonBk = new JButton(Backspace); buttonBk.setForeground(new Color(255, 0, 0); buttonCe = new JButton(ce); buttonCe.setForeground(new Color(255, 0, 0); buttonC = new JButton(c); buttonC.setForeground(new Color(255, 0, 0); buttonBk.addActionListener(this); buttonCe.addActi
13、onListener(this); buttonC.addActionListener(this); panel1.add(panel2, BorderLayout.NORTH); panel2.setLayout(new FlowLayout(FlowLayout.LEFT); panel2.add(textMemory); panel2.add(buttonBk); panel2.add(buttonCe); panel2.add(buttonC); panel2.add(p4); panel3 = new JPanel(); panel1.add(panel3, BorderLayout
14、.CENTER); button = new JButton10; for (int i = 0; i button.length; i+) buttoni = new JButton(Integer.toString(i); buttoni.setForeground(new Color(0, 0, 255); bsin = new JButton(sin); bsin.setForeground(new Color(0, 0, 255); bcos = new JButton(cos); bcos.setForeground(new Color(0, 0, 255); btan = new
15、 JButton(tan); btan.setForeground(new Color(0, 0, 255); bpi = new JButton(pi); bpi.setForeground(new Color(0, 0, 255); bxy = new JButton(xy); bxy.setForeground(new Color(0, 0, 255); bx3 = new JButton(x3); bx3.setForeground(new Color(0, 0, 255); bln = new JButton(ln); bln.setForeground(new Color(0, 0
16、, 255); bx2 = new JButton(x2); bx2.setForeground(new Color(0, 0, 255); bmod = new JButton(mod); bmod.setForeground(new Color(0, 0, 255); bn = new JButton(n!); bn.setForeground(new Color(0, 0, 255); ba = new JButton(a); ba.setForeground(new Color(0, 0, 255); bb = new JButton(b); bb.setForeground(new
17、Color(0, 0, 255); bc = new JButton(c); bc.setForeground(new Color(0, 0, 255); bd = new JButton(d); bd.setForeground(new Color(0, 0, 255); be = new JButton(e); be.setForeground(new Color(0, 0, 255); bf = new JButton(f); bf.setForeground(new Color(0, 0, 255); buttonMC = new JButton(MC); buttonMC.setFo
18、reground(new Color(255, 0, 0); buttonMR = new JButton(MR); buttonMR.setForeground(new Color(255, 0, 0); buttonMS = new JButton(MS); buttonMS.setForeground(new Color(255, 0, 0); buttonMAdd = new JButton(M+); buttonMAdd.setForeground(new Color(255, 0, 0); buttonDot = new JButton(.); buttonDot.setForeg
19、round(new Color(0, 0, 255); buttonAddAndSub = new JButton(+/-); buttonAddAndSub.setForeground(new Color(0, 0, 255); buttonAdd = new JButton(+); buttonAdd.setForeground(new Color(255, 0, 0); buttonSub = new JButton(-); buttonSub.setForeground(new Color(255, 0, 0); buttonMul = new JButton(*); buttonMu
20、l.setForeground(new Color(255, 0, 0); buttonDiv = new JButton(/); buttonDiv.setForeground(new Color(255, 0, 0); buttonmod = new JButton(%); buttonmod.setForeground(new Color(0, 0, 255); buttonsqrt = new JButton(sqrt); buttonsqrt.setForeground(new Color(0, 0, 255); buttonDao = new JButton(1/x); butto
21、nDao.setForeground(new Color(0, 0, 255); buttonEqual = new JButton(=); buttonEqual.setForeground(new Color(255, 0, 0); buttonMC = new JButton(MC); buttonMC.setForeground(new Color(255, 0, 0); / 将所有行为与监听绑定 panel3.setLayout(new GridLayout(5, 8); panel3.add(buttonMC); buttonMC.addActionListener(this);
22、panel3.add(button7); button7.addActionListener(this); panel3.add(button8); button8.addActionListener(this); panel3.add(button9); button9.addActionListener(this); panel3.add(buttonDiv); buttonDiv.addActionListener(this); panel3.add(buttonsqrt); buttonsqrt.addActionListener(this); panel3.add(bsin); bs
23、in.addActionListener(this); panel3.add(bcos); bcos.addActionListener(this); panel3.add(buttonMR); buttonMR.addActionListener(this); panel3.add(button4); button4.addActionListener(this); panel3.add(button5); button5.addActionListener(this); panel3.add(button6); button6.addActionListener(this); panel3
24、.add(buttonMul); buttonMul.addActionListener(this); panel3.add(buttonmod); buttonmod.addActionListener(this); panel3.add(btan); btan.addActionListener(this); panel3.add(bpi); bpi.addActionListener(this); panel3.add(buttonMS); buttonMS.addActionListener(this); panel3.add(button1); button1.addActionLi
25、stener(this); panel3.add(button2); button2.addActionListener(this); panel3.add(button3); button3.addActionListener(this); panel3.add(buttonSub); buttonSub.addActionListener(this); panel3.add(buttonDao); buttonDao.addActionListener(this); panel3.add(bmod); bmod.addActionListener(this); panel3.add(bxy
26、); bxy.addActionListener(this); panel3.add(buttonMAdd); buttonMAdd.addActionListener(this); panel3.add(button0); button0.addActionListener(this); panel3.add(buttonAddAndSub); buttonAddAndSub.addActionListener(this); panel3.add(buttonDot); buttonDot.addActionListener(this); panel3.add(buttonAdd); but
27、tonAdd.addActionListener(this); panel3.add(buttonEqual); buttonEqual.addActionListener(this); panel3.add(bn); bn.addActionListener(this); panel3.add(bx2); bx2.addActionListener(this); panel3.add(ba); ba.addActionListener(this); panel3.add(bb); bb.addActionListener(this); panel3.add(bc); bc.addAction
28、Listener(this); panel3.add(bd); bd.addActionListener(this); panel3.add(be); be.addActionListener(this); panel3.add(bf); bf.addActionListener(this); panel3.add(bx3); bx3.addActionListener(this); panel3.add(bln); bln.addActionListener(this); frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE); visi();
29、 textAnswer.setText(0); fsix(); mid = 2; frame.pack(); frame.show(); fchange = 2; public void actionPerformed(ActionEvent event) boolean sign = false; Object temp = event.getSource(); try for (int i = 0; i = 9; i+) if (temp = buttoni & clickable = true) String s = textAnswer.getText(); if (s.charAt(0) = 0) frist = false; if (frist = true) textAnswer.setText(textAnswer.getText() + String.valueOf(i); else
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1