⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calculator.java

📁 利用Swing组件设计一个计算器
💻 JAVA
字号:
//计算器实现加、减、乘、除import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Calculator extends JFrame implements ActionListener{        private JTextField m_textField=new JTextField(12);    private JButton[]m_button={        new JButton("1"),new JButton("2"),new JButton("3"),new JButton("4"),        new JButton("5"),new JButton("6"),new JButton("7"),new JButton("8"),        new JButton("9"),new JButton("0"),new JButton("+"),new JButton("-"),        new JButton("*"),new JButton("/"),new JButton("."),new JButton("="),        new JButton("C")};           public Calculator()     {        super("Calculator");        Container container=getContentPane();        container.setLayout(new FlowLayout(FlowLayout.CENTER));                container.add(m_textField);                        container.add(m_button[16]);                container.add(m_button[0]);        container.add(m_button[1]);        container.add(m_button[2]);        container.add(m_button[10]);                container.add(m_button[3]);        container.add(m_button[4]);        container.add(m_button[5]);        container.add(m_button[11]);                container.add(m_button[6]);        container.add(m_button[7]);        container.add(m_button[8]);        container.add(m_button[12]);                container.add(m_button[9]);        container.add(m_button[14]);        container.add(m_button[15]);        container.add(m_button[13]);                for(int i=0;i<=16;i++)          m_button[i].addActionListener(this);                setSize(200,200);        setVisible(true);    }        int flag,flag2;    double value1,value2,result;//定义两个运算数和结果    public void actionPerformed(ActionEvent e)     {               int i;        for(i=0;i<10;i++)        {            if(e.getSource()==m_button[i])            {                if(flag2==1)      //若等号后再输数字,则清空                    m_textField.setText("");                flag2=0;                String value=String.valueOf((i+1)%10);                m_textField.setText(m_textField.getText()+value);             }        }                  if(e.getSource()==m_button[10])  //加       {          flag=1;           value1=Double.parseDouble(m_textField.getText());//得到第一个计算数           m_textField.setText("");                        //清空                 }       else if(e.getSource()==m_button[11])  //减       {           flag=2;           value1=Double.parseDouble(m_textField.getText());           m_textField.setText("");                 }       else if(e.getSource()==m_button[12])//乘       {           flag=3;           value1=Double.parseDouble(m_textField.getText());           m_textField.setText("");                }       else if(e.getSource()==m_button[13])    //除      {           flag=4;           value1=Double.parseDouble(m_textField.getText());           m_textField.setText("");                  }       else if(e.getSource()==m_button[15])   //=       {          value2=Double.parseDouble(m_textField.getText());  //得到另一个计算数          flag2=1;          if(flag==1) result=value1+value2;                   //运算          else if(flag==2) result=value1-value2;          else if(flag==3) result=value1*value2;          else if(flag==4){              if(value2!=0) result=value1/value2;              else result=0;         }          String r=String.valueOf(result);          m_textField.setText(r);       }         else  if(e.getSource()==m_button[14])   //添加小数点         {            int flag1=1;            String r=m_textField.getText();//判断文本框内的字符串中是否已经含有“.”若有,则按“.”键无效,若无,则输出“.”            for(int j=0;j<r.length();j++)            {                if(r.charAt(j)==".".charAt(0))                    flag1=0;            }            if(flag1==1)                   m_textField.setText(m_textField.getText()+ ".");         }         else if(e.getSource()==m_button[16])    //复位,清空                  m_textField.setText("");           }         public static void main(String args[])    {        Calculator app=new Calculator();        app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    }    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -