Java 很简单的一个问题。在文本框里输入数据,想在一个方法里得到输入文本框的内容。但提示空指针错误

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.*;

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.*;
import java.io.*;
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;
JButton b1=null;
JButton b2=null;
public WorkerInformation (){ //构造方法
super("员工基本信息");
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.getActionCommand()).equals("添加员工基本信息"))
{
System.out.println("你按下了第一个按钮:添加员工基本信息");
String s1=tf1.getText(); //提示空指针错误,应该怎样改???有具体代码吗?
String s2=tf2.getText();
String s3=tf3.getText();
String s4=tf4.getText();
String s5=tf5.getText();

Worker w=new Worker(s1,s2,s3,s4,s5);
System.out.println(w.workerNum);
}

public static void main(String[] age){
WorkerInformation wi=new WorkerInformation(); //new一个
}
}

第1个回答  2016-06-12
把 :
JTextField tf1 = new JTextField();
JTextField tf2 = new JTextField();
JTextField tf3 = new JTextField();
JTextField tf4 = new JTextField();
JTextField tf5 = new JTextField();
作为成员变量,提到 JButton b2=null; 后面。
建议阅读 成员变量与局部变量的区别 的相关知识本回答被提问者采纳
相似回答