public class Counter extends java.awt.Frame {
    private String s;
    private static int i=0;
    private double g=0;
    private int add=0;
    /** Creates new form Counter */
    public Counter() {
        initComponents();
    }
    
    /** 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() {
        label1 = new java.awt.Label();
        panel1 = new java.awt.Panel();
        b1 = new java.awt.Button();
        b2 = new java.awt.Button();
        b3 = new java.awt.Button();
        bAdd = new java.awt.Button();
        bC = new java.awt.Button();
        b4 = new java.awt.Button();
        b5 = new java.awt.Button();
        b6 = new java.awt.Button();
        bMinus = new java.awt.Button();
        bCE = new java.awt.Button();
        b7 = new java.awt.Button();
        b8 = new java.awt.Button();
        b9 = new java.awt.Button();
        bMult = new java.awt.Button();
        try {
            bBK =(java.awt.Button)java.beans.Beans.instantiate(getClass().getClassLoader(), "AWT.Counter_button1");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (java.io.IOException e) {
            e.printStackTrace();
        }
        b0 = new java.awt.Button();
        bDecimal = new java.awt.Button();
        bAmount = new java.awt.Button();
        bDivision = new java.awt.Button();
        button4 = new java.awt.Button();        setResizable(false);
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent evt) {
                exitForm(evt);
            }
        });        label1.setAlignment(java.awt.Label.RIGHT);
        label1.setText("0");
        add(label1, java.awt.BorderLayout.NORTH);        panel1.setLayout(new java.awt.GridLayout(4, 4, 4, 4));        panel1.setBackground(new java.awt.Color(204, 204, 204));
        b1.setFont(new java.awt.Font("Dialog", 1, 18));
        b1.setLabel("1");
        b1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                b1ActionPerformed(evt);
            }
        });        panel1.add(b1);        b2.setFont(new java.awt.Font("Dialog", 1, 18));
        b2.setLabel("2");
        b2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                b2ActionPerformed(evt);
            }
        });        panel1.add(b2);        b3.setFont(new java.awt.Font("Dialog", 1, 18));
        b3.setLabel("3");
        b3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                b3ActionPerformed(evt);
            }
        });        panel1.add(b3);        bAdd.setFont(new java.awt.Font("Dialog", 1, 18));
        bAdd.setLabel("+");
        bAdd.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bAddActionPerformed(evt);
            }
        });        panel1.add(bAdd);        bC.setFont(new java.awt.Font("Dialog", 1, 18));
        bC.setLabel("C");
        bC.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bCActionPerformed(evt);
            }
        });        panel1.add(bC);        b4.setFont(new java.awt.Font("Dialog", 1, 18));
        b4.setLabel("4");
        b4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                b4ActionPerformed(evt);
            }
        });        panel1.add(b4);        b5.setFont(new java.awt.Font("Dialog", 1, 18));
        b5.setLabel("5");
        b5.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                b5ActionPerformed(evt);
            }
        });        panel1.add(b5);        b6.setFont(new java.awt.Font("Dialog", 1, 18));
        b6.setLabel("6");
        b6.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                b6ActionPerformed(evt);
            }
        });        panel1.add(b6);        bMinus.setFont(new java.awt.Font("Dialog", 1, 18));
        bMinus.setLabel("-");
        bMinus.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bMinusActionPerformed(evt);
            }
        });        panel1.add(bMinus);        bCE.setFont(new java.awt.Font("Dialog", 1, 18));
        bCE.setLabel("CE");
        panel1.add(bCE);        b7.setFont(new java.awt.Font("Dialog", 1, 18));
        b7.setLabel("7");
        b7.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                b7ActionPerformed(evt);
            }
        });        panel1.add(b7);        b8.setFont(new java.awt.Font("Dialog", 1, 18));
        b8.setLabel("8");
        b8.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                b8ActionPerformed(evt);
            }
        });        panel1.add(b8);        b9.setFont(new java.awt.Font("Dialog", 1, 18));
        b9.setLabel("9");
        b9.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                b9ActionPerformed(evt);
            }
        });        panel1.add(b9);        bMult.setFont(new java.awt.Font("Dialog", 1, 18));
        bMult.setLabel("*");
        panel1.add(bMult);        bBK.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bBKActionPerformed(evt);
            }
        });        panel1.add(bBK);        b0.setFont(new java.awt.Font("Dialog", 1, 18));
        b0.setLabel("0");
        b0.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                b0ActionPerformed(evt);
            }
        });        panel1.add(b0);        bDecimal.setFont(new java.awt.Font("Dialog", 1, 18));
        bDecimal.setLabel(".");
        bDecimal.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bDecimalActionPerformed(evt);
            }
        });        panel1.add(bDecimal);        bAmount.setFont(new java.awt.Font("Dialog", 1, 18));
        bAmount.setLabel("=");
        panel1.add(bAmount);        bDivision.setFont(new java.awt.Font("Dialog", 1, 18));
        bDivision.setLabel("/");
        panel1.add(bDivision);        button4.setEnabled(false);
        panel1.add(button4);        add(panel1, java.awt.BorderLayout.CENTER);        pack();
        java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
        setSize(new java.awt.Dimension(400, 300));
        setLocation((screenSize.width-400)/2,(screenSize.height-300)/2);
    }

解决方案 »

  1.   

    private void bMinusActionPerformed(java.awt.event.ActionEvent evt) {
            // Add your handling code here:
            i=0;
            if(s!=null){
                g-=Double.parseDouble(s);
            }
            if(add==0){
                s=null;
                add=1;
            }
            else{
                s=String.valueOf(g);
                label1.setText(s);
                s=null;
            }
        }    private void bAddActionPerformed(java.awt.event.ActionEvent evt) {
            // Add your handling code here
            i=0;
            if(s!=null){
                g+=Double.parseDouble(s);
            }
            if(add==0){
                s=null;
                add=1;
            }
            else{
                s=String.valueOf(g);
                label1.setText(s);
                s=null;
            }
        }    private void bDecimalActionPerformed(java.awt.event.ActionEvent evt) {
            // Add your handling code here:
           if(s==null){
                s="0.";
                i=1;
                label1.setText(s);
            }
            else{
                if(i==0){
                    s+=".";
                    i=1;
                    label1.setText(s);
                }
            }
        }    private void bBKActionPerformed(java.awt.event.ActionEvent evt) {
            // Add your handling code here:
            if((s!=null)&&(s.length()!=0)){
                if(s.equals("0.")){
                    s=null;
                    i=0;
                    label1.setText("0");
                }
                else{
                    if(s.charAt(s.length()-1)=='.'){
                        i=0;
                    }
                    s=s.substring(0,(s.length()-1));
                    if(s.length()==0){
                        s=null;
                        i=0;
                        label1.setText("0");
                    }
                    else{label1.setText(s);}
                }
            }
            else{
                s=null;
                i=0;
                label1.setText("0");
            }
        }    private void bCActionPerformed(java.awt.event.ActionEvent evt) {
            // Add your handling code here:
            s=null;
            i=0;
            g=0;
            add=0;
            label1.setText("0");
        }    private void b0ActionPerformed(java.awt.event.ActionEvent evt) {
            // Add your handling code here:
            if(s!=null){
                if(label1.getText()!="0"){
                    s+="0";
                    label1.setText(s);
                }
            }
        }    private void b9ActionPerformed(java.awt.event.ActionEvent evt) {
            // Add your handling code here:
            if(s==null){
                s="9";
            }
            else{
                s+="9";
            }
            label1.setText(s);
        }    private void b8ActionPerformed(java.awt.event.ActionEvent evt) {
            // Add your handling code here:
            if(s==null){
                s="8";
            }
            else{
                s+="8";
            }
            label1.setText(s);
        }    private void b7ActionPerformed(java.awt.event.ActionEvent evt) {
            // Add your handling code here:
            if(s==null){
                s="7";
            }
            else{
                s+="7";
            }
            label1.setText(s);
        }    private void b6ActionPerformed(java.awt.event.ActionEvent evt) {
            // Add your handling code here:
            if(s==null){
                s="6";
            }
            else{
                s+="6";
            }
            label1.setText(s);
        }    private void b5ActionPerformed(java.awt.event.ActionEvent evt) {
            // Add your handling code here:
            if(s==null){
                s="5";
            }
            else{
                s+="5";
            }
            label1.setText(s);
        }    private void b4ActionPerformed(java.awt.event.ActionEvent evt) {
            // Add your handling code here:
            if(s==null){
                s="4";
            }
            else{
                s+="4";
            }
            label1.setText(s);
        }    private void b3ActionPerformed(java.awt.event.ActionEvent evt) {
            // Add your handling code here:
            if(s==null){
                s="3";
            }
            else{
                s+="3";
            }
            label1.setText(s);
        }    private void b2ActionPerformed(java.awt.event.ActionEvent evt) {
            // Add your handling code here:
            if(s==null){
                s="2";
            }
            else{
                s+="2";
            }
            label1.setText(s);
        }    private void b1ActionPerformed(java.awt.event.ActionEvent evt) {
            // Add your handling code here:
            if(s==null){
                s="1";
            }
            else{
                s+="1";
            }
            label1.setText(s);
        }
        
        /** Exit the Application */
        private void exitForm(java.awt.event.WindowEvent evt) {
            System.exit(0);
        }
        
        /**
         * @param args the command line arguments
         */
        public static void main(String args[]) {
            new Counter().show();
        }
        
        
        // Variables declaration - do not modify
        private java.awt.Button bDecimal;
        private java.awt.Button bMult;
        private java.awt.Button bDivision;
        private java.awt.Button b6;
        private java.awt.Button b5;
        private java.awt.Button b0;
        private java.awt.Button b8;
        private java.awt.Button b1;
        private java.awt.Panel panel1;
        private java.awt.Button b3;
        private java.awt.Button bMinus;
        private java.awt.Button bAdd;
        private java.awt.Button b9;
        private java.awt.Button bCE;
        private java.awt.Button bAmount;
        private java.awt.Button bC;
        private java.awt.Button b4;
        private java.awt.Button button4;
        private java.awt.Button b7;
        private java.awt.Button b2;
        private java.awt.Label label1;
        private java.awt.Button bBK;
        // End of variables declaration
        
    }
    这个程序我还没写完,只实现了加和减,剩下的你来写,我们交换一下,互相提高吧
      

  2.   

    我有做好的,你把email给我,我发给你
      

  3.   

    太好了,谢谢happyxiaoxia2002sohu.com