Java Swing中的TextArea在线程中给出异常;AWT-EventQueue-0“;

Java Swing中的TextArea在线程中给出异常;AWT-EventQueue-0“;,java,swing,Java,Swing,我试图从如下定义的TextArea中检索信息 JTextArea a1 = new JTextArea(15, 50); a1.setEditable(true); centerPanel.add(a1); a1.setVisible(true); 在我的听众课上 private class JobHandler implements ActionListener { boolean c2shortHand = false; boolean

我试图从如下定义的TextArea中检索信息

JTextArea a1 = new JTextArea(15, 50);
    a1.setEditable(true);

    centerPanel.add(a1);
    a1.setVisible(true);
在我的听众课上

    private class JobHandler implements ActionListener {

    boolean c2shortHand = false;
    boolean c1translation = false;
    boolean c3onsite = false;
    String custName = "";
    String jobInfo ="";
    String line = "";


    public void actionPerformed(ActionEvent e) {
        jobInfo=a1.getText();
        if (c1.isSelected()) {
            c1translation = true;
        }
        if (c2.isSelected()) {
            c2shortHand = true;
        }
        if (c3.isSelected()) {
            c3onsite = true;

        }jobInfo=a1.getText();
    }
}
当我运行GUI时,在添加最后一部分之前一切正常,在最后一部分中,我尝试将TextArea信息分配给一个名为jobInfo的字符串变量

我得到的错误是,它似乎在抱怨线程。问题是我试图在不做其他事情的情况下检索信息这一事实吗

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at JobsGUI$JobHandler.actionPerformed(JobsGUI.java:202)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
a1宣言

public class JobsGUI {

private Manager mmm = new Branch("Watford");
private JFrame myFrame = new JFrame("Jobs GUI");
private Container contentPane = myFrame.getContentPane();

private JButton quitButton = new JButton("Quit");
private JButton addJobButton = new JButton("Add Job");
private JButton clearListButton = new JButton("Clear List");


private JPanel eastPanel = new JPanel();
private JPanel westPanel = new JPanel();
private JPanel centerPanel = new JPanel();
private JPanel northPanel = new JPanel();
private JPanel southPanel = new JPanel();
JCheckBox c1, c2, c3;
JTextField t1, t2, t3;
JLabel l1, l2;
JTextArea a1;
JScrollPane s1;


public JobsGUI() {
    addAllStaff();
    makeFrame();
    makeMenus(myFrame);
    makeTypes();
    addJobs();
}


private void addJobs() {

    t1 = new JTextField(10);   //Customer name
    northPanel.add(t1);
    l1 = new JLabel("Enter Customer name here");
    northPanel.add(l1);
    c1 = new JCheckBox("Translation");
    westPanel.add(c1);
    c2 = new JCheckBox("ShortHand?");
    westPanel.add(c2);
    c3 = new JCheckBox("OnSite");
    westPanel.add(c3);

    JLabel l2 = new JLabel("Job Information");
    centerPanel.add(l2);
    l2.setVisible(true);

    JTextArea a1 = new JTextArea(15, 50);
    a1.setEditable(true);

    centerPanel.add(a1);
    a1.setVisible(true);

    addJobButton.addActionListener(new JobHandler());

我想说的是,
a1
c1
c2
c3
可能是
null
与线程无关的错误的重复,这是
JobsGUI
类的第202行中的NullPointerException。您是否将a1声明为类变量,然后在类中初始化相同的a1?“我是个笨蛋!“我们都是这样开始的,在Java编程的16年里,我仍然觉得自己是一个新手。OTOH在正确的方向上做了一点努力,至少你能够找到并解决问题的根源。因此,至少你不是像我一样的无知的新手(有时仍然是))现在你可以在下面写一个答案,或者干脆删除这个问题。我想说,
a1
c1
c2
c3
都是
null
可能与线程无关的错误的重复,这是
JobsGUI
类的第202行中的NullPointerException。你知道吗将a1声明为类变量&然后在类中初始化相同的a1?“我是noooob!“我们都是这样开始的,在Java编程的16年里,我仍然觉得自己是一个新手。OTOH在正确的方向上做了一点努力,至少你能够找到并解决问题的根源。因此,至少你不是像我一样的无知的新手(有时仍然是)现在你可以在下面写一个答案,或者干脆删除这个问题。