这是我编的代码但不能进行加法运算,谁能帮帮我,到底哪里错了?谢谢大家!
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class J_Text extends JFrame{
        private JTextField[]m_textField={
                new JTextField("",5),new JTextField("",5),new JTextField("",5)};
        private JButton[]m_button={new JButton("+"),new JButton("=")};
        double x,y,z=0;        
        public J_Text(){
                super("Sum");
                        Container container =getContentPane();
                container.setLayout(new FlowLayout());
                //m_textField[0].setEditable(false);
                //m_textField[1].setEditable(false);
                
                container.add(m_textField[0]);
                container.add(m_button[0]);
                container.add(m_textField[1]);
                container.add(m_button[1]);
                container.add(m_textField[2]);
                
                J_Handler handler=new J_Handler();//进行监听
                m_textField[0].addActionListener(handler);
                m_textField[1].addActionListener(handler);
                m_textField[2].addActionListener(handler);
                
        setSize(300,100);
        setVisible(true);
        }
        
private class J_Handler implements ActionListener{                public void actionPerformed(ActionEvent event){
                        
                        s=s+ event.getActionCommand();
                        x=Double.parseDouble(m_textField[0].getText());
                y=Double.parseDouble(m_textField[1].getText());
            
                z=x+y;
                            if(event.getSource()==m_button[1]){
            
                    m_textField[2].setText(""+(z));
            }
         }
}        
        
        
        public static void main(String []args){
                J_Text application=new J_Text();
            application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }
}

解决方案 »

  1.   

    方法不对 
    private class J_Handler implements ActionListener{                public void actionPerformed(ActionEvent event){
                            
                            s=s+ event.getActionCommand();
                            x=Double.parseDouble(m_textField[0].getText());
                    y=Double.parseDouble(m_textField[1].getText());
                
                    z=x+y;
                                if(event.getSource()==m_button[1]){
                
                        m_textField[2].setText(""+(z));
                }
             }
    }        
    这里你解释下撒       
      

  2.   

    m_textField[0]的值赋给x,m_textField[1]的值给y,运行x+y,将值给z,最后把z的值给m_textField[3].我是这么想的,弄的方法不对?那该怎么改呢?
      

  3.   

    s=s+ event.getActionCommand();
    这个语句好象有问题呀
      

  4.   

    if(event.getSource()==m_button[1]){
                
                        m_textField[2].setText(""+(z));
    这里错了!! 
    if (event.getActionCommand().equals("m_button[1]"))
     m_textField[2].setText(z);
      

  5.   

    谢谢大家的帮忙,我知道我哪里错了,我的事件监听没有监听对,应该监听的是Button,但我监听的是TextField,呵呵,耽误大家时间太抱歉了!