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

📄 newjframe.java

📁 这个压缩包给出了用JAVA来编写计算器的原程序
💻 JAVA
字号:
/* * NewJFrame.java * * Created on 2005年11月4日, 上午10:47 */package javaapplication1;import java.awt.event.*;/** * * @author  Administrator */public class NewJFrame extends javax.swing.JFrame implements ActionListener{    /** Creates new form NewJFrame */    public NewJFrame() {        initComponents();        jButton1.addActionListener(this);        jButton2.addActionListener(this);        jButton3.addActionListener(this);        jButton4.addActionListener(this);        jButton5.addActionListener(this);        jButton6.addActionListener(this);        jButton7.addActionListener(this);        jButton8.addActionListener(this);        jButton9.addActionListener(this);        jButton10.addActionListener(this);        jButton11.addActionListener(this);        jButton12.addActionListener(this);        jButton13.addActionListener(this);        jButton14.addActionListener(this);        jButton15.addActionListener(this);        jButton16.addActionListener(this);        jButton17.addActionListener(this);        jButton18.addActionListener(this);    }    private int action=-1;					//动作标志    private String lastValue="";		//最后的值    private boolean pressedOp=false;//是否按下运算符按钮    public void actionPerformed(ActionEvent e){        String s=e.getActionCommand();        if(s=="."){            if (jTextField1.getText().indexOf(".")<0) //没有小数点的数据                jTextField1.setText(jTextField1.getText()+s);        }        else if (s=="BackSpace"){            if (jTextField1.getText().length()>0)     //数据长度>0                jTextField1.setText(jTextField1.getText().substring(0,jTextField1.getText().length()-1));        }        else if (s=="Clear"){                lastValue="";                action=-1;                jTextField1.setText("");                pressedOp=false;        }        else if (s=="1" || s=="2" ||s=="3" ||s=="4" || s=="5" ||s=="6" ||s=="7" || s=="8" ||s=="9" ||s=="0"){            if (pressedOp){	//在此按钮之前按下了运算符,应保存文本框内容                lastValue=jTextField1.getText();                jTextField1.setText(s);                pressedOp=false;	//清除运算符按下标志            }            else	//没有按下运算符按钮,所以在文本框内容后面追加按钮文字                jTextField1.setText(jTextField1.getText()+s);        }        else{     //点击了加减乘除运算符            if (pressedOp) return;  //连续点击运算符,不处理            pressedOp=true;         //设置点击运算符标志            if (lastValue!=""){     //只有两个数据都存在,才进行运算                String currentValue=jTextField1.getText();	//当前数据                if (lastValue.indexOf(".")>=0 || currentValue.indexOf(".")>=0){	//有小数点,应进行浮点运算                    double v1=Double.parseDouble(lastValue);                    double v2=Double.parseDouble(currentValue);                    double result=0;                    switch(action){                        case 1:                            result=v1+v2;                            break;                        case 2:                            result=v1-v2;                            break;                        case 3:                            result=v1*v2;                            break;                        case 4:                                    result=(double)v1/v2;                            break;                    }                    jTextField1.setText(""+result);                }                else{		//进行整数运算                    int v1=Integer.parseInt(lastValue);	                    int v2=Integer.parseInt(currentValue);                    int result1=0;                    double result2=0;                    switch(action){                        case 1:                            result1=v1+v2;                            break;                        case 2:                            result1=v1-v2;                            break;                        case 3:                            result1=v1*v2;                            break;                        case 4:                                    result2=(double)v1/v2;                            break;                    }                    if (action==4)	//显示除法产生的浮点结果                       jTextField1.setText(""+result2);                    else						//显示其它运算产生的整数结果                       jTextField1.setText(""+result1);                }            }            if (s=="+") action=1;            else if (s=="-") action=2;            else if (s=="*") action=3;            else if (s=="/") action=4;       }    }        /** This method is called from within the constructor to     * initialize the form.     * WARNING: Do NOT modify this code. The content of this method is     * always regenerated by the Form Editor.     */    private void initComponents() {//GEN-BEGIN:initComponents        jTextField1 = new javax.swing.JTextField();        jButton1 = new javax.swing.JButton();        jButton2 = new javax.swing.JButton();        jButton3 = new javax.swing.JButton();        jButton4 = new javax.swing.JButton();        jButton5 = new javax.swing.JButton();        jButton6 = new javax.swing.JButton();        jButton7 = new javax.swing.JButton();        jButton8 = new javax.swing.JButton();        jButton9 = new javax.swing.JButton();        jButton10 = new javax.swing.JButton();        jButton11 = new javax.swing.JButton();        jButton12 = new javax.swing.JButton();        jButton13 = new javax.swing.JButton();        jButton14 = new javax.swing.JButton();        jButton15 = new javax.swing.JButton();        jButton16 = new javax.swing.JButton();        jButton17 = new javax.swing.JButton();        jButton18 = new javax.swing.JButton();        getContentPane().setLayout(null);        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);        setTitle("Java\u7b80\u6613\u8ba1\u7b97\u5668");        jTextField1.setFont(new java.awt.Font("宋体", 1, 24));        jTextField1.setHorizontalAlignment(javax.swing.JTextField.RIGHT);        getContentPane().add(jTextField1);        jTextField1.setBounds(20, 30, 450, 30);        jButton1.setFont(new java.awt.Font("宋体", 1, 24));        jButton1.setText("1");        getContentPane().add(jButton1);        jButton1.setBounds(20, 70, 90, 40);        jButton2.setFont(new java.awt.Font("宋体", 1, 24));        jButton2.setText("2");        getContentPane().add(jButton2);        jButton2.setBounds(140, 70, 90, 40);        jButton3.setFont(new java.awt.Font("宋体", 1, 24));        jButton3.setText("3");        getContentPane().add(jButton3);        jButton3.setBounds(260, 70, 90, 40);        jButton4.setFont(new java.awt.Font("宋体", 1, 24));        jButton4.setText("4");        getContentPane().add(jButton4);        jButton4.setBounds(380, 70, 90, 40);        jButton5.setFont(new java.awt.Font("宋体", 1, 24));        jButton5.setText("5");        getContentPane().add(jButton5);        jButton5.setBounds(20, 120, 90, 40);        jButton6.setFont(new java.awt.Font("宋体", 1, 24));        jButton6.setText("6");        getContentPane().add(jButton6);        jButton6.setBounds(140, 120, 90, 40);        jButton7.setFont(new java.awt.Font("宋体", 1, 24));        jButton7.setText("7");        getContentPane().add(jButton7);        jButton7.setBounds(260, 120, 90, 40);        jButton8.setFont(new java.awt.Font("宋体", 1, 24));        jButton8.setText("8");        getContentPane().add(jButton8);        jButton8.setBounds(380, 120, 90, 40);        jButton9.setFont(new java.awt.Font("宋体", 1, 24));        jButton9.setText("9");        getContentPane().add(jButton9);        jButton9.setBounds(20, 170, 90, 40);        jButton10.setFont(new java.awt.Font("宋体", 1, 24));        jButton10.setText("0");        getContentPane().add(jButton10);        jButton10.setBounds(140, 170, 90, 40);        jButton11.setFont(new java.awt.Font("宋体", 1, 24));        jButton11.setText(".");        getContentPane().add(jButton11);        jButton11.setBounds(260, 170, 90, 40);        jButton12.setFont(new java.awt.Font("宋体", 1, 24));        jButton12.setText("Clear");        getContentPane().add(jButton12);        jButton12.setBounds(20, 270, 210, 40);        jButton13.setFont(new java.awt.Font("宋体", 1, 24));        jButton13.setText("+");        getContentPane().add(jButton13);        jButton13.setBounds(20, 220, 90, 40);        jButton14.setFont(new java.awt.Font("宋体", 1, 24));        jButton14.setText("-");        getContentPane().add(jButton14);        jButton14.setBounds(140, 220, 90, 40);        jButton15.setFont(new java.awt.Font("宋体", 1, 24));        jButton15.setText("*");        getContentPane().add(jButton15);        jButton15.setBounds(260, 220, 90, 40);        jButton16.setFont(new java.awt.Font("宋体", 1, 24));        jButton16.setText("/");        getContentPane().add(jButton16);        jButton16.setBounds(380, 220, 90, 40);        jButton17.setFont(new java.awt.Font("宋体", 1, 24));        jButton17.setText("=");        getContentPane().add(jButton17);        jButton17.setBounds(380, 170, 90, 40);        jButton18.setFont(new java.awt.Font("宋体", 1, 24));        jButton18.setText("BackSpace");        getContentPane().add(jButton18);        jButton18.setBounds(260, 270, 210, 40);        java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();        setBounds((screenSize.width-492)/2, (screenSize.height-359)/2, 492, 359);    }//GEN-END:initComponents            // 变量声明 - 不进行修改//GEN-BEGIN:variables    private javax.swing.JButton jButton1;    private javax.swing.JButton jButton10;    private javax.swing.JButton jButton11;    private javax.swing.JButton jButton12;    private javax.swing.JButton jButton13;    private javax.swing.JButton jButton14;    private javax.swing.JButton jButton15;    private javax.swing.JButton jButton16;    private javax.swing.JButton jButton17;    private javax.swing.JButton jButton18;    private javax.swing.JButton jButton2;    private javax.swing.JButton jButton3;    private javax.swing.JButton jButton4;    private javax.swing.JButton jButton5;    private javax.swing.JButton jButton6;    private javax.swing.JButton jButton7;    private javax.swing.JButton jButton8;    private javax.swing.JButton jButton9;    private javax.swing.JTextField jTextField1;    // 变量声明结束//GEN-END:variables    }

⌨️ 快捷键说明

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