JavaGUI写一个计算器

代码:

/*

* To change this license header, choose License Headers in Project Properties.

* To change this template file, choose Tools | Templates

* and open the template in the editor.

*/

package calculater;

import java.awt.EventQueue;

import javax.swing.JFrame;

import javax.swing.JButton;

import javax.swing.JTextField;

import java.awt.event.ActionListener;

import java.awt.event.ActionEvent;

/**

* GUI计算器

* @author Administrator

*

*/

/**

*

* @author Administrator

*/

public class Calculater {

    static float sum = 0f;

    String s1;

    private JFrame frame;

    private JTextField textField;

    /**

    * Launch the application.

    */

    public static void main(String[] args) {

        EventQueue.invokeLater(new Runnable() {

            public void run() {

                try {

                    Calculater window = new Calculater();

                    window.frame.setVisible(true);

                    window.frame.setTitle("Calculater");

                } catch (Exception e) {

                    e.printStackTrace();

                }

            }

        });

    }

    /**

    * Create the application.

    */

    public Calculater() {

        initialize();


    }

    /**

    * Initialize the contents of the frame.

    */

    private void initialize() {


        frame = new JFrame();

        frame.setBounds(100, 100, 500, 600);

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        frame.getContentPane().setLayout(null);


        JButton btnNewButton = new JButton("1");

        btnNewButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent arg0) {

                textField.setText(textField.getText()+1);


            }

        });

        btnNewButton.setBounds(70, 265, 50, 26);

        frame.getContentPane().add(btnNewButton);


        JButton button = new JButton("2");

        button.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {


                textField.setText(textField.getText()+2);


            }

        });

        button.setBounds(144, 265, 50, 26);

        frame.getContentPane().add(button);


        JButton button_1 = new JButton("3");

        button_1.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {


                textField.setText(textField.getText()+3);


            }

        });

        button_1.setBounds(221, 265, 50, 26);

        frame.getContentPane().add(button_1);


        JButton button_2 = new JButton("4");

        button_2.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {


                textField.setText(textField.getText()+4);


            }

        });

        button_2.setBounds(70, 304, 50, 26);

        frame.getContentPane().add(button_2);


        JButton button_3 = new JButton("5");

        button_3.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {


                textField.setText(textField.getText()+5);


            }

        });

        button_3.setBounds(144, 304, 50, 26);

        frame.getContentPane().add(button_3);


        JButton button_4 = new JButton("6");

        button_4.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {


                textField.setText(textField.getText()+6);


            }

        });

        button_4.setBounds(221, 304, 50, 26);

        frame.getContentPane().add(button_4);


        JButton button_5 = new JButton("7");

        button_5.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {


                textField.setText(textField.getText()+7);


            }

        });

        button_5.setBounds(70, 339, 50, 26);

        frame.getContentPane().add(button_5);


        JButton button_6 = new JButton("8");

        button_6.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {


                textField.setText(textField.getText()+8);


            }

        });

        button_6.setBounds(144, 339, 50, 26);

        frame.getContentPane().add(button_6);


        JButton button_7 = new JButton("9");

        button_7.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {


                textField.setText(textField.getText()+9);


            }

        });

        button_7.setBounds(221, 339, 50, 26);

        frame.getContentPane().add(button_7);

        //加法///////////////////////////////////////////////////////////////////

        JButton button_8 = new JButton("+");

        button_8.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {

                textField.setText(textField.getText()+" + ");


                //加

                String str = textField.getText();

                String [] stringArr= str.split((" "));


                if(stringArr.length == 2) {

                    float i = Float.valueOf(stringArr[0]);

                    sum = i;

            }   

                else if(stringArr[stringArr.length-3].equals("+")) {   

                    float i = Float.valueOf(stringArr[stringArr.length-2]);

                    sum = sum+i;

                }


                else if(stringArr[stringArr.length-3].equals("-")) {   

                    float i = Float.valueOf(stringArr[stringArr.length-2]);

                    sum = sum-i;

                }

                else if(stringArr[stringArr.length-3].equals("*")) {   

                    float i = Float.valueOf(stringArr[stringArr.length-2]);

                    sum = sum*i;

                }

                else if(stringArr[stringArr.length-3].equals("/")) {   

                    float i = Float.valueOf(stringArr[stringArr.length-2]);

                    sum = sum/i;

                }

                  else if(stringArr[stringArr.length-3].equals("^")) {   

                    float i = Float.valueOf(stringArr[stringArr.length-2]);

                    sum = (float) Math.pow(sum, i);

                }

            }

        });

        button_8.setBounds(293, 265, 50, 26);

        frame.getContentPane().add(button_8);

        //减法//////////////////////////////////////////////////////////////////////////

        JButton button_9 = new JButton("-");

        button_9.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {

                textField.setText(textField.getText()+" - ");


                //减

                String str = textField.getText();

                String [] stringArr= str.split((" "));


                if(stringArr.length == 2) {

                    float i = Float.valueOf(stringArr[0]);

                    sum = i;

            }   

                else if(stringArr[stringArr.length-3].equals("+")) {   

                    float i = Float.valueOf(stringArr[stringArr.length-2]);

                    sum = sum+i;

                }


                else if(stringArr[stringArr.length-3].equals("-")) {   

                    float i = Float.valueOf(stringArr[stringArr.length-2]);

                    sum = sum-i;

                }

                else if(stringArr[stringArr.length-3].equals("*")) {   

                    float i = Float.valueOf(stringArr[stringArr.length-2]);

                    sum = sum*i;

                }

                else if(stringArr[stringArr.length-3].equals("/")) {   

                    float i = Float.valueOf(stringArr[stringArr.length-2]);

                    sum = sum/i;

                }

                  else if(stringArr[stringArr.length-3].equals("^")) {   

                    float i = Float.valueOf(stringArr[stringArr.length-2]);

                    sum = (float) Math.pow(sum, i);

                }

            }

        });

        button_9.setBounds(293, 304, 50, 26);

        frame.getContentPane().add(button_9);


        //乘法//////////////////////////////////////////////////////////////////

        JButton button_10 = new JButton("*");

        button_10.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {

                textField.setText(textField.getText()+" * ");

                String str = textField.getText();

                String [] stringArr= str.split((" "));


                if(stringArr.length == 2) {

                    float i = Float.valueOf(stringArr[0]);

                    sum = i;

            }   

                else if(stringArr[stringArr.length-3].equals("+")) {   

                    float i = Float.valueOf(stringArr[stringArr.length-2]);

                    sum = sum+i;

                }


                else if(stringArr[stringArr.length-3].equals("-")) {   

                    float i = Float.valueOf(stringArr[stringArr.length-2]);

                    sum = sum-i;

                }

                else if(stringArr[stringArr.length-3].equals("*")) {   

                    float i = Float.valueOf(stringArr[stringArr.length-2]);

                    sum = sum*i;

                }

                else if(stringArr[stringArr.length-3].equals("/")) {   

                    float i = Float.valueOf(stringArr[stringArr.length-2]);

                    sum = sum/i;

                }

                  else if(stringArr[stringArr.length-3].equals("^")) {   

                    float i = Float.valueOf(stringArr[stringArr.length-2]);

                    sum = (float) Math.pow(sum, i);

                }

            }

        });

        button_10.setBounds(293, 339, 50, 26);

        frame.getContentPane().add(button_10);


        JButton button_11 = new JButton("0");

        button_11.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {


                textField.setText(textField.getText()+0);

            }

        });

        button_11.setBounds(144, 380, 50, 26);

        frame.getContentPane().add(button_11);


          JButton button_22= new JButton("!");

        button_22.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {

                String s=textField.getText();

                int s1=Integer.parseInt(s);

          long j=1;

                for(int i=1;i<=s1;i++)

                j*=i;

                textField.setText(textField.getText()+"!="+j);

            }

        });

        button_22.setBounds(70, 380, 50, 26);

        frame.getContentPane().add(button_22);

      JButton btn21 = new JButton("<<<");

        btn21.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {

                String s=textField.getText();


                textField.setText(s.substring(0, s.length()-1));


            }

        });

        btn21.setBounds(221, 380, 50, 26);

        frame.getContentPane().add(btn21);

        //除法//////////////////////////////////////////////////////////////////

        JButton button_12 = new JButton("/");

        button_12.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {

                textField.setText(textField.getText()+" / ");

                String str = textField.getText();

                String [] stringArr= str.split((" "));


                if(stringArr.length == 2) {

                    float i = Float.valueOf(stringArr[0]);

                    sum = i;

            }   

                else if(stringArr[stringArr.length-3].equals("+")) {   

                    float i = Float.valueOf(stringArr[stringArr.length-2]);

                    sum = sum+i;

                }


                else if(stringArr[stringArr.length-3].equals("-")) {   

                    float i = Float.valueOf(stringArr[stringArr.length-2]);

                    sum = sum-i;

                }

                else if(stringArr[stringArr.length-3].equals("*")) {   

                    float i = Float.valueOf(stringArr[stringArr.length-2]);

                    sum = sum*i;

                }

                else if(stringArr[stringArr.length-3].equals("/")) {   

                    float i = Float.valueOf(stringArr[stringArr.length-2]);

                    sum = sum/i;

                }

                  else if(stringArr[stringArr.length-3].equals("^")) {   

                    float i = Float.valueOf(stringArr[stringArr.length-2]);

                    sum = (float) Math.pow(sum, i);

                }

            }

        });

        button_12.setBounds(293, 380, 50, 26);

        frame.getContentPane().add(button_12);



        JButton button_18 = new JButton("^");

        button_18.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {

                textField.setText(textField.getText()+" ^ ");

                String str = textField.getText();

                String [] stringArr= str.split((" "));


                if(stringArr.length == 2) {

                    float i = Float.valueOf(stringArr[0]);

                    sum = i;

            }   

                else if(stringArr[stringArr.length-3].equals("+")) {   

                    float i = Float.valueOf(stringArr[stringArr.length-2]);

                    sum = sum+i;

                }


                else if(stringArr[stringArr.length-3].equals("-")) {   

                    float i = Float.valueOf(stringArr[stringArr.length-2]);

                    sum = sum-i;

                }

                else if(stringArr[stringArr.length-3].equals("*")) {   

                    float i = Float.valueOf(stringArr[stringArr.length-2]);

                    sum = sum*i;

                }

                else if(stringArr[stringArr.length-3].equals("/")) {   

                    float i = Float.valueOf(stringArr[stringArr.length-2]);

                    sum = sum/i;

                }

                else if(stringArr[stringArr.length-3].equals("^")) {   

                    float i = Float.valueOf(stringArr[stringArr.length-2]);

                    sum = (float) Math.pow(sum, i);

                }

            }

        });

        button_18.setBounds(364, 380, 50, 26);

        frame.getContentPane().add(button_18);



        JButton button_13 = new JButton("=");

        button_13.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {

                textField.setText(textField.getText()+" = ");       


                String str = textField.getText();

                String [] stringArr= str.split((" "));


                if(stringArr.length == 2) {

                    float i = Float.valueOf(stringArr[0]);

                    sum = i;

                    textField.setText(textField.getText()+sum);

            }   

                else if(stringArr[stringArr.length-3].equals("+")) {   

                    float i = Float.valueOf(stringArr[stringArr.length-2]);

                    sum = sum+i;

                    textField.setText(textField.getText()+sum);

                }


                else if(stringArr[stringArr.length-3].equals("-")) {   

                    float i = Float.valueOf(stringArr[stringArr.length-2]);

                    sum = sum-i;

                    textField.setText(textField.getText()+sum);

                }

                else if(stringArr[stringArr.length-3].equals("*")) {   

                    float i = Float.valueOf(stringArr[stringArr.length-2]);

                    sum = sum*i;

                    textField.setText(textField.getText()+sum);

                }

                else if(stringArr[stringArr.length-3].equals("/")) {   

                    float i = Float.valueOf(stringArr[stringArr.length-2]);

                    sum = sum/i;

                    textField.setText(textField.getText()+sum);

                }

                  else if(stringArr[stringArr.length-3].equals("^")) {   

                    float i = Float.valueOf(stringArr[stringArr.length-2]);

                    sum = (float) Math.pow(sum,i);

                    textField.setText(textField.getText()+sum);

                }


            }

        });

        button_13.setBounds(364, 265, 50, 26);

        frame.getContentPane().add(button_13);


        textField = new JTextField();

        textField.setBounds(70, 130, 344, 79);

        frame.getContentPane().add(textField);

        textField.setColumns(10);


        JButton btnC = new JButton("C");

        btnC.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {

                textField.setText("");

                sum = 0;

            }

        });

        btnC.setBounds(364, 304, 50, 26);

        frame.getContentPane().add(btnC);


        JButton button_14 = new JButton(".");

        button_14.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent arg0) {

                textField.setText(textField.getText()+".");

            }

        });



        button_14.setBounds(364, 341, 50, 26);

        frame.getContentPane().add(button_14);

    }

}

运行页面:

你可能感兴趣的:(JavaGUI写一个计算器)