import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class fengye extends JFrame   {

public static void main(String args[]){
JFrame f=new JFrame("简单销售系统");
f.setSize(300,200);
Container contentpane=f.getContentPane(); JLabel  lable1=new JLabel("产品编号");
JLabel  lable2=new JLabel("产品销量");
JLabel  lable3=new JLabel("单项收入");
JLabel  lable4=new JLabel("点击等于");
JButton button5=new JButton("计算总和");
JTextArea   textArea=new JTextArea(6,10);
final JButton button1=new JButton("=");
final JButton button2=new JButton("=");
final JButton button3=new JButton("=");
final JButton button4=new JButton("=");
final JTextField textField1=new JTextField();
final JTextField textField2=new JTextField();
final JTextField textField3=new JTextField();
final JTextField textField4=new JTextField();
final JTextField textField5=new JTextField();
final JTextField textField6=new JTextField();
final JTextField textField7=new JTextField();
final JTextField textField8=new JTextField();
final JTextField textField9=new JTextField("product1");
textField9.setEditable(false);
 JTextField textField10=new JTextField("product2");
 textField10.setEditable(false);          
 JTextField textField11=new JTextField("product3");
textField11.setEditable(false);
JTextField textField12=new JTextField("product4");   
textField12.setEditable(false); JPanel panel1=new JPanel();
panel1.setLayout(new GridLayout(5,4));
panel1.add(lable1);
panel1.add(lable2);
panel1.add(lable3);
panel1.add(lable4);
panel1.add(textField9);
panel1.add(textField1);
panel1.add(textField2);
panel1.add(button1);
panel1.add(textField10);
panel1.add(textField3);
panel1.add(textField4);
panel1.add(button2);
panel1.add(textField11);
panel1.add(textField5);
panel1.add(textField6);
panel1.add(button3);
panel1.add(textField12);
panel1.add(textField7);
panel1.add(textField8);
panel1.add(button4);
JPanel panel2=new JPanel();
panel2.setLayout(new GridLayout(2,1));
panel2.add(button5);
contentpane.add(panel1,BorderLayout.CENTER);
contentpane.add(panel2,BorderLayout.EAST);

ActionListener l=new ActionListener() {
public void actionPerformed(ActionEvent e){
final double d1=Double.parseDouble(textField1.getText());
final double d2=Double.parseDouble(textField3.getText());
final double d3=Double.parseDouble(textField5.getText());
final double d4=Double.parseDouble(textField7.getText());
if (e.getSource() == button1)
textField2.setText("" + (d1*4.90));
if (e.getSource() == button2)
textField4.setText("" + (d2*2.90));
if (e.getSource() == button3)
textField6.setText("" + (d3*1.90));
if (e.getSource() == button4)
textField8.setText("" + (d4*5.90));}
};
button1.addActionListener(l);  
button2.addActionListener(l);
button3.addActionListener(l);
button4.addActionListener(l); f.pack();
f.setResizable(false);
f.setVisible(true);
}
}  点击=号时运行不了啊---帮改下有没有更简单的代码可以实现要求的功能啊

解决方案 »

  1.   

    确保你输入的是数字,然后 actionlisten改成如下ActionListener l = new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                             
                    if (e.getSource() == button1){
                        final double d1 = Double.parseDouble(textField1.getText());
                        textField2.setText("" + (d1 * 4.90));
                    }
                    if (e.getSource() == button2){
                        final double d2 = Double.parseDouble(textField3.getText());
                        textField4.setText("" + (d2 * 2.90));
                    }
                    if (e.getSource() == button3){
                        final double d3 = Double.parseDouble(textField5.getText());
                        textField6.setText("" + (d3 * 1.90));
                    }
                        
                    if (e.getSource() == button4){
                        final double d4 = Double.parseDouble(textField7.getText());
                        textField8.setText("" + (d4 * 5.90));
                    }
                }
            };