为什么我收到java.lang.NullPointerException?

时间:2019-03-25 01:39:35

标签: java nullpointerexception textfield

正在进行一项家庭作业,我不知道为什么将任何东西放入actionPerformed方法时会导致错误,尤其是空指针错误。我想做的是让按钮将其他两个文本字段组合成另一个。

如果我拿出代码并离开记录器,则单击按钮将触发记录器。但是由于某种原因,如果actionPerformed方法中实际上有什么东西,它只会向我抛出错误。

import org.apache.logging.log4j.*;

import javax.swing.*;
import java.awt.event.*;

public class MyPanel extends JPanel
                     implements ActionListener
{
   private static Logger logger = LogManager.getLogger(MyPanel.class);

   private JLabel lblFirstName;
   private JLabel lblLastName;
   private JLabel lblFullName;
   private JButton btnSubmit;
   private JTextField txtFirstName;
   private JTextField txtLastName;
   private JTextField txtFullName;


   public MyPanel()
   {
      logger.debug("INSIDE PANEL CONSTRUCTOR !!!");
      JLabel lblFirstName = new JLabel("First name: ");
      add(lblFirstName);
      JTextField txtFirstName = new JTextField("", 10);
      add(txtFirstName);
      JLabel lblLastName = new JLabel("Last name: ");
      add(lblLastName);
      JTextField txtLastName = new JTextField("", 10);
      add(txtLastName);
      JButton btnSubmit = new JButton("Submit");
      add(btnSubmit);
      JLabel lblFullName = new JLabel("Full name: ");
      add(lblFullName);
      JTextField txtFullName = new JTextField("", 20);
      txtFullName.setEditable(false);
      add(txtFullName);
      btnSubmit.addActionListener(this);
   }

   @Override
   public void actionPerformed(ActionEvent e)
   {
      logger.debug("Inside the Action Listener!");

      txtFullName.setText(txtFirstName.getText() + " " + txtLastName.getText());
   }
}

我已经尝试过set,setText,获取文本,甚至只是将getTexts放入字符串并放入setTest(string),但这些都没有用。我想我错过了一些非常重要的东西,但我不知道这是什么。在线上的所有教程都是关于追加到textArea的,但这是试图将两个textFields合并为一个,并且没有.append函数。

0 个答案:

没有答案