当前位置: 代码迷 >> J2SE >> 一个简略运算窗口,运行后无法输出值
  详细解决方案

一个简略运算窗口,运行后无法输出值

热度:95   发布时间:2016-04-23 20:41:20.0
一个简单运算窗口,运行后无法输出值
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class a1 extends JFrame implements ActionListener
{
JTextField jtextfield1,jtextfield2,jtextfield3;
JLabel jlabe11,jlabe12,jlabe13;
JButton jbt1,jbt2,jbt3,jbt4;

Container cp=getContentPane();
public  a1(){
setTitle("一个文本行事件处理的例子");
cp.setLayout(new FlowLayout()); 
jlabe11=new JLabel("左操作数=");
jtextfield1=new JTextField(20);
jlabe12=new JLabel("右操作数=");
jtextfield2=new JTextField(20);
jbt1=new JButton("+");
jbt2=new JButton("-");
jbt3=new JButton("*");
jbt4=new JButton("/");
jlabe13=new JLabel("=");
jtextfield3=new JTextField(20);

cp.add(jlabe11); cp.add(jtextfield1);
cp.add(jlabe12); cp.add(jtextfield2);
cp.add(jbt1);
jbt1.addActionListener(this);
cp.add(jbt2);
jbt2.addActionListener(this);
cp.add(jbt3); 
jbt3.addActionListener(this);
cp.add(jbt4);
jbt4.addActionListener(this);
cp.add(jlabe13); cp.add(jtextfield3);
jtextfield2.addActionListener(this);

setSize(350,150);
show();
    }
public void actionPerformed(ActionEvent e){
long n1,n2;

if (e.getSource( )==jtextfield2){
n1=Long.parseLong(jtextfield1.getText());
n2=Long.parseLong(jtextfield2.getText());
long  str=0;
if (e.getSource( )==jbt1)  str=n1+n2;
else if (e.getSource( )==jbt2) str=n1-n2;
          else if (e.getSource( )==jbt3)  str=n1*n2;
          else if (e.getSource( )==jbt4)  str=n1/n2;

jtextfield3.setText(String.valueOf(str));
}

}
public static void main(String args[]){
a1 obj=new a1();
}
}

------解决方案--------------------
你事件处理到哪去了;

if (e.getSource() == jtextfield2)

if (e.getSource() == jbt1)

------解决方案--------------------
你多加几个判断就可以了;
  相关解决方案