Java 按钮 监听 GUI,为什么按按钮的时候没有反应呢?(很简单的程序,请大神指教)

importjava.awt.*;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener... import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowListener;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;

import javax.swing.*;

public class WorkerInformation extends JFrame implements ActionListener{
JLabel l1=null; //成员变量
JLabel l2=null;
JLabel l3=null;
JLabel l4=null;
JLabel l5=null;

JTextField tf1=null;
JTextField tf2=null;
JTextField tf3=null;
JTextField tf4=null;
JTextField tf5=null;

JButton b1=null;
JButton b2=null;

public WorkerInformation (){ //构造方法
super("员工基本信息");

//JFrame f=new JFrame("员工基本信息");
//Container c=f.getContentPane();
setLayout(new FlowLayout());
setBounds(0,0,600,600);
setVisible(true);
setLayout(null);

JLabel l1=new JLabel("工号:");
JLabel l2=new JLabel("姓名:");
JLabel l3=new JLabel("类别:");
JLabel l4=new JLabel("部门:");
JLabel l5=new JLabel("登录密码:");

JTextField tf1 = new JTextField();
JTextField tf2 = new JTextField();
JTextField tf3 = new JTextField();
JTextField tf4 = new JTextField();
JTextField tf5 = new JTextField();

JButton b1=new JButton("添加员工基本信息");
JButton b2=new JButton("查找员工基本信息");

add(l1);
add(l2);
add(l3);
add(l4);
add(l5);

add(tf1);
add(tf2);
add(tf3);
add(tf4);
add(tf5);

add(b1); //将事件对象加入容器中
add(b2);

l1.setBounds(50,50,80,30);
l2.setBounds(50,100,80,30);
l3.setBounds(50,150,80,30);
l4.setBounds(50,200,80,30);
l5.setBounds(50,250,200,30);

tf1.setBounds(150,50,150,30);
tf2.setBounds(150,100,150,30);
tf3.setBounds(150,150,150,30);
tf4.setBounds(150,200,150,30);
tf5.setBounds(150,250,150,30);

b1.setBounds(150,300,150,30);
b2.setBounds(150,350,150,30);

b1.addActionListener(this); //注册当前容器为事件对象监听者
b2.addActionListener(this);

}

public void actionPerformed(ActionEvent e){
if(e.getSource()==b1)
{System.out.println("你按下了第一个按钮");}

else if(e.getSource()==b2)
{System.out.println("你按下了第二个按钮");}

}

public static void main(String[] age){
WorkerInformation wi=new WorkerInformation(); //new一个
}
}
展开
 我来答
匿名用户
推荐于2017-06-30
展开全部
e.getSource()==b1和e.getSource()==b2,永远不会相等。。。。。。。添加Listener的是方法内的按钮 b1和b2、对比的是类变量b1和b2(都是null)

if(e.getSource()==b1)

不要使用==判断对象,,,,而是使用.equals() 判断
更多追问追答
追问
if(e.getSource().equals(b2))吗?这样会报空指针错误
追答
方法的变量,不要定义,,,,,直接使用类变量 。。。。。。。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式