zoukankan      html  css  js  c++  java
  • JAVA作业简易计算器

    工程名随意,文件名必须为Jisuanqi.java

    View Code
    import java.awt.BorderLayout;
    import java.awt.Color;
    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.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    import javax.swing.border.TitledBorder;
    
    public class Jisuanqi extends JFrame implements ActionListener{
        private JTextField reasult;
        private JButton btn1,btn2,btn3,btn4,btn5,btn6,btn7,btn8,btn9,btn0,
                    btnAC,btnAdd,btnSub,btnReasult,btnD,
                    btnAbout,btnCancel;
        private boolean add,sub,end,s,c;
        private String str;
        private double num1,num2;
        public Jisuanqi(){
            JPanel p1=new JPanel();
            JPanel p2=new JPanel();
            JPanel p3=new JPanel();
            TitledBorder tb=new TitledBorder("OutPut");tb.setTitleColor(Color.YELLOW);
        
            btnAbout=new JButton("Producer");
            btnCancel=new JButton("Close");
            btnCancel.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent ee){
                    System.exit(0);
                }
            });
            btnAbout.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent ee){
                    JOptionPane.showMessageDialog(null, "刘道广", "制作人",JOptionPane.INFORMATION_MESSAGE);
                }
            });
            p3.add(btnAbout);
            p3.add(btnCancel);
            
            reasult = new JTextField("0",20);
            reasult.setEditable(false);
            reasult.setHorizontalAlignment(JTextField.RIGHT);
            reasult.setForeground(Color.BLUE);
            
            p1.setBorder(tb);
            p1.add(reasult);
            btn0=new JButton("0"); btn0.addActionListener(this);
            btn1=new JButton("1");   btn1.addActionListener(this);
            btn2=new JButton("2");   btn2.addActionListener(this);
            btn3=new JButton("3");   btn3.addActionListener(this); 
            btn4=new JButton("4");   btn4.addActionListener(this);
            btn5=new JButton("5");   btn5.addActionListener(this);
            btn6=new JButton("6");   btn6.addActionListener(this);
            btn7=new JButton("7");   btn7.addActionListener(this);
            btn8=new JButton("8");   btn8.addActionListener(this);
            btn9=new JButton("9");   btn9.addActionListener(this);
            btnD=new JButton(".");     btnD.addActionListener(this); btnD.setForeground(Color.GREEN);
            btnAC=new JButton("AC"); btnAC.addActionListener(this); btnAC.setBackground(Color.RED);
            btnAdd=new JButton("+"); btnAdd.addActionListener(this); btnAdd.setForeground(Color.CYAN);
            btnSub=new JButton("-"); btnSub.addActionListener(this); btnSub.setForeground(Color.CYAN);
            btnReasult=new JButton("="); btnReasult.addActionListener(this); btnReasult.setForeground(Color.RED);
            
            p2.add(btn1);p2.add(btn2);p2.add(btn3);p2.add(btn4);p2.add(btn5);
            p2.add(btn6);p2.add(btn7);p2.add(btn8);p2.add(btn9);p2.add(btn0);
            p2.add(btnD);p2.add(btnAC);p2.add(btnAdd);p2.add(btnSub);p2.add(btnReasult);
            p2.setLayout(new GridLayout(5,3));
            
            add(p1,BorderLayout.NORTH);
            add(p2,BorderLayout.CENTER);
            add(p3,BorderLayout.SOUTH);
        }
        public void num(int i){
            String s=null;
            s=String.valueOf(i);
            if(end){
                reasult.setText("0");
                end=false;
            }
            if((reasult.getText()).equals("0")){
                reasult.setText(s);
            }
            else{
                str=reasult.getText()+s;
                reasult.setText(str);
            }
        }
        public void actionPerformed(ActionEvent e){
            if(e.getSource()==btn1) num(1);
            else if(e.getSource()==btn2) num(2);
            else if(e.getSource()==btn3) num(3);
            else if(e.getSource()==btn4) num(4);
            else if(e.getSource()==btn5) num(5);
            else if(e.getSource()==btn6) num(6);
            else if(e.getSource()==btn7) num(7);
            else if(e.getSource()==btn8) num(8);
            else if(e.getSource()==btn9) num(9);
            else if(e.getSource()==btn0) num(0);
            else if(e.getSource()==btnAdd){
                sign(1);
                btnD.setEnabled(true);
            }
            else if(e.getSource()==btnSub){
                sign(2);
                btnD.setEnabled(true);
            }
            else if(e.getSource()==btnAC){
                btnD.setEnabled(true);
                reasult.setText("0");
            }
            else if(e.getSource()==btnD){
                str=reasult.getText();
                str+='.';
                reasult.setText(str);
                btnD.setEnabled(false);
            }
            else if(e.getSource()==btnReasult){
                btnD.setEnabled(true);
                num2=Double.parseDouble(reasult.getText());
                if(add){
                    num1=num1+num2;
                }
                else if(sub){
                    num1=num1-num2;
                }
                reasult.setText(String.valueOf(num1));
                end=true;
            }
        }
        public void sign(int s){
            if(s==1){
                add=true;
                sub=false;
                
            }
            else if(s==2){
                add=false;
                sub=true;
                
            }
            
            num1=Double.parseDouble(reasult.getText());
            end=true;
        }
        public static void main(String[] args){
            Jisuanqi j=new Jisuanqi();
            j.setTitle("+/-简易计算器");
            j.setLocation(500, 280);
            j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            j.setResizable(false);
            j.pack();
            j.setVisible(true);
        }
    }

  • 相关阅读:
    linux 清理cache中的内存
    科学计算和可视化
    Python生成随机数的方法
    matplotlib绘图的基本操作
    python中的数组和列表
    Python人工智能学习笔记
    利用numpy+matplotlib绘图的基本操作教程
    split函数用法
    玩转PIL库
    广师大学习笔记之文本统计(jieba库好玩的词云)
  • 原文地址:https://www.cnblogs.com/markliu/p/2554600.html
Copyright © 2011-2022 走看看