[RESOLVIDO] Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: null

Minha aplicação desktop deve adicionar um livro atribuindo o valor de seus atributos a classe pai. O problema é que quando tento adicionar, me aparece o erro abaixo:

Exception in thread “AWT-EventQueue-0” java.lang.NumberFormatException: null
at java.lang.Long.parseLong(Long.java:404)
at java.lang.Long.parseLong(Long.java:483)
at incluirlivro.JanelaIncluirLivro.actionPerformed(JanelaIncluirLivro.java:392)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018 )
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:708 )
at java.awt.EventQueue$4.run(EventQueue.java:706)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138 )
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

Já chequei na classe pai os tipos dos setters e getters, e todos estão certos. Alguém tem alguma dica?

IncluirLivro.java (Classe pai):

package incluirlivro;

public class IncluirLivro  {

	private  String tituloLivro;
	private String autorLivro;
	private String edicaoLivro;
	private String isbnLivro;
	private String categoriaLivro;
	private Long precoLivro;
	private Long precoProcionalLivro;
	private int estoqueLivro;
	private String resumoLivro;
	
	
	public String getTituloLivro() {
		return tituloLivro;
	}
	public void setTituloLivro(String tituloLivro) {
		this.tituloLivro = tituloLivro;
	}
	public String getAutorLivro() {
		return autorLivro;
	}
	public void setAutorLivro(String autorLivro) {
		this.autorLivro = autorLivro;
	}
	public String getEdicaoLivro() {
		return edicaoLivro;
	}
	public void setEdicaoLivro(String edicaoLivro) {
		this.edicaoLivro = edicaoLivro;
	}
	
	public String getIsbnLivro() {
		return isbnLivro;
	}
	public void setIsbnLivro(String isbnLivro) {
		this.isbnLivro = isbnLivro;
	}
	public String getCategoriaLivro() {
		return categoriaLivro;
	}
	public void setCategoriaLivro(String categoriaLivro) {
		this.categoriaLivro = categoriaLivro;
	}
	
	
	
	
	public long getPrecoLivro() {
		return precoLivro;
	}
	public void setPrecoLivro(Long precoLivro) {
		this.precoLivro = precoLivro;
	}
	public long getPrecoProcionalLivro() {
		return precoProcionalLivro;
	}
	public void setPrecoProcionalLivro(Long precoProcionalLivro) {
		this.precoProcionalLivro = precoProcionalLivro;
	}
	public int getEstoqueLivro() {
		return estoqueLivro;
	}
	public void setEstoqueLivro(int estoqueLivro) {
		this.estoqueLivro = estoqueLivro;
	}
	public String getResumoLivro() {
		return resumoLivro;
	}
	public void setResumoLivro(String resumoLivro) {
		this.resumoLivro = resumoLivro;
	}
	
	
		
}

JanelaIncluirLivro.java (classe da janela):

package incluirlivro;

import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.JTextPane;
import javax.swing.LayoutStyle.ComponentPlacement;
import javax.swing.UIManager;
import javax.swing.border.EmptyBorder;

public class JanelaIncluirLivro extends JFrame implements ActionListener {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private JPanel contentPane;
	private JLabel label;
	private JLabel lblTituloDoLivro;
	private JTextField tituloLivro;
	private JLabel lblNewLabel;
	private JTextField autorLivro;
	private JLabel lblEdio;
	private JTextField edicaoLivro;
	private JLabel lblIsbn;
	private JTextField isbLivro;
	private JLabel lblCategoria;
	private JComboBox<String> categoriaLivro;
	private JLabel lblPreoDoLivro;
	private JTextField precoLivro;
	private JLabel lblPreoPromocional;
	private JTextField precoPromocionalLivro;
	private JLabel lblNewLabel_3;
	private JTextField estoqueLivro;
	private JLabel lblResumoDoLivro;
	private JTextPane resumoLivro;
	private JButton btnCancelar;
	private JButton btnOk;

        String txtErro;
        
	IncluirLivro l = new IncluirLivro();

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					JanelaIncluirLivro frame = new JanelaIncluirLivro();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public JanelaIncluirLivro() {
		setBackground(Color.ORANGE);
		setTitle("Incluir Livro");
		setResizable(false);//Não permite maximizar a tela 
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 450, 346);
		contentPane = new JPanel();
		contentPane.setBackground(UIManager.getColor("Button.background"));
		contentPane.setForeground(Color.GREEN);
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		
		label = new JLabel("");
		
		lblTituloDoLivro = new JLabel("Titulo do Livro");
		lblTituloDoLivro.setFont(new Font("Tahoma", Font.BOLD, 12));
		lblTituloDoLivro.setForeground(Color.BLUE);
		
		tituloLivro = new JTextField();
		tituloLivro.setColumns(10);
		
		lblNewLabel = new JLabel("Autor");
		lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 12));
		lblNewLabel.setForeground(Color.BLUE);
		
		autorLivro = new JTextField();
		autorLivro.setColumns(10);
		
		lblEdio = new JLabel("Edi\u00E7\u00E3o");
		lblEdio.setFont(new Font("Tahoma", Font.BOLD, 12));
		lblEdio.setForeground(Color.BLUE);
		
		edicaoLivro = new JTextField();
		edicaoLivro.setColumns(10);
		
		lblIsbn = new JLabel("ISBN");
		lblIsbn.setFont(new Font("Tahoma", Font.BOLD, 12));
		lblIsbn.setForeground(Color.BLUE);
		
		isbLivro = new JTextField();
		isbLivro.setColumns(10);
		
		lblCategoria = new JLabel("Categoria");
		lblCategoria.setFont(new Font("Tahoma", Font.BOLD, 12));
		lblCategoria.setForeground(Color.BLUE);
		
		categoriaLivro = new JComboBox<String>();
		categoriaLivro.setToolTipText("Categoria Livro");
		categoriaLivro.addItem("Autoajuda"); 
		categoriaLivro.addItem("Aventura"); 
		categoriaLivro.addItem("Ciências/Sociais"); 
		categoriaLivro.addItem("Clássico"); 
		categoriaLivro.addItem("Drama"); 
		categoriaLivro.addItem("Economia"); 
		categoriaLivro.addItem("Erótico"); 
		categoriaLivro.addItem("Ficção/Científica");
		categoriaLivro.addItem("Filosofia"); 
		categoriaLivro.addItem("História"); 
		categoriaLivro.addItem("Infantil/Juvenil"); 
		categoriaLivro.addItem("Literatura"); 
		categoriaLivro.addItem("Mitologia"); 
		categoriaLivro.addItem("Poesia"); 
		categoriaLivro.addItem("Policial"); 
		categoriaLivro.addItem("Romance");
		categoriaLivro.addItem("Suspense"); 
		categoriaLivro.addItem("Tecnologia da Informação"); 
		categoriaLivro.addItem("Terror"); 
		categoriaLivro.addItem("Outros");
		
		lblPreoDoLivro = new JLabel("Pre\u00E7o do Livro");
		lblPreoDoLivro.setFont(new Font("Tahoma", Font.BOLD, 12));
		lblPreoDoLivro.setForeground(Color.BLUE);
		
		precoLivro = new JTextField();
		precoLivro.setColumns(10);
		
		lblPreoPromocional = new JLabel("Pre\u00E7o Promocional");
		lblPreoPromocional.setFont(new Font("Tahoma", Font.BOLD, 12));
		lblPreoPromocional.setForeground(Color.BLUE);
		
		precoPromocionalLivro = new JTextField();
		precoPromocionalLivro.setColumns(10);
		
		lblNewLabel_3 = new JLabel("Estoque");
		lblNewLabel_3.setForeground(Color.BLUE);
		lblNewLabel_3.setBackground(new Color(240, 240, 240));
		lblNewLabel_3.setFont(new Font("Tahoma", Font.BOLD, 12));
		
		estoqueLivro = new JTextField();
		estoqueLivro.setColumns(10);
		
		lblResumoDoLivro = new JLabel("Resumo do Livro");
		lblResumoDoLivro.setFont(new Font("Tahoma", Font.BOLD, 12));
		lblResumoDoLivro.setForeground(Color.BLUE);
		
		resumoLivro = new JTextPane();
		
		btnCancelar = new JButton("Cancelar");
		btnCancelar.setFont(new Font("Tahoma", Font.BOLD, 12));
		btnCancelar.setForeground(Color.BLUE);
		btnCancelar.addActionListener(this);
		
		btnOk = new JButton("OK");
		btnOk.setForeground(Color.BLUE);
		btnOk.setFont(new Font("Tahoma", Font.BOLD, 12));
		btnOk.addActionListener(this);
		GroupLayout gl_contentPane = new GroupLayout(contentPane);
		gl_contentPane.setHorizontalGroup(
			gl_contentPane.createParallelGroup(Alignment.LEADING)
				.addGroup(gl_contentPane.createSequentialGroup()
					.addGroup(gl_contentPane.createParallelGroup(Alignment.TRAILING)
						.addComponent(label)
						.addGroup(gl_contentPane.createSequentialGroup()
							.addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)
								.addComponent(lblTituloDoLivro)
								.addComponent(lblNewLabel)
								.addComponent(lblEdio))
							.addGap(53)
							.addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)
								.addComponent(autorLivro, GroupLayout.DEFAULT_SIZE, 282, Short.MAX_VALUE)
								.addComponent(tituloLivro, GroupLayout.DEFAULT_SIZE, 282, Short.MAX_VALUE)
								.addComponent(edicaoLivro, GroupLayout.DEFAULT_SIZE, 282, Short.MAX_VALUE)))
						.addGroup(gl_contentPane.createSequentialGroup()
							.addContainerGap(282, Short.MAX_VALUE)
							.addComponent(btnOk)
							.addPreferredGap(ComponentPlacement.UNRELATED)
							.addComponent(btnCancelar))
						.addGroup(gl_contentPane.createSequentialGroup()
							.addComponent(lblIsbn)
							.addGap(113)
							.addComponent(isbLivro, GroupLayout.DEFAULT_SIZE, 282, Short.MAX_VALUE))
						.addGroup(gl_contentPane.createSequentialGroup()
							.addComponent(lblCategoria)
							.addGap(83)
							.addComponent(categoriaLivro, 0, 282, Short.MAX_VALUE))
						.addGroup(gl_contentPane.createSequentialGroup()
							.addComponent(lblPreoDoLivro)
							.addGap(54)
							.addComponent(precoLivro, GroupLayout.DEFAULT_SIZE, 282, Short.MAX_VALUE))
						.addGroup(gl_contentPane.createSequentialGroup()
							.addComponent(lblPreoPromocional)
							.addGap(29)
							.addComponent(precoPromocionalLivro, GroupLayout.DEFAULT_SIZE, 282, Short.MAX_VALUE))
						.addGroup(gl_contentPane.createSequentialGroup()
							.addComponent(lblNewLabel_3)
							.addGap(92)
							.addComponent(estoqueLivro, GroupLayout.DEFAULT_SIZE, 282, Short.MAX_VALUE))
						.addGroup(gl_contentPane.createSequentialGroup()
							.addComponent(lblResumoDoLivro)
							.addPreferredGap(ComponentPlacement.RELATED, 39, Short.MAX_VALUE)
							.addComponent(resumoLivro, GroupLayout.PREFERRED_SIZE, 282, GroupLayout.PREFERRED_SIZE)))
					.addContainerGap())
		);
		gl_contentPane.setVerticalGroup(
			gl_contentPane.createParallelGroup(Alignment.LEADING)
				.addGroup(gl_contentPane.createSequentialGroup()
					.addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)
						.addComponent(label)
						.addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
							.addComponent(lblTituloDoLivro)
							.addComponent(tituloLivro, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)))
					.addPreferredGap(ComponentPlacement.RELATED)
					.addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
						.addComponent(autorLivro, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
						.addComponent(lblNewLabel))
					.addPreferredGap(ComponentPlacement.RELATED)
					.addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
						.addComponent(edicaoLivro, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
						.addComponent(lblEdio))
					.addPreferredGap(ComponentPlacement.RELATED)
					.addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
						.addComponent(lblIsbn)
						.addComponent(isbLivro, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
					.addPreferredGap(ComponentPlacement.RELATED)
					.addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
						.addComponent(categoriaLivro, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
						.addComponent(lblCategoria))
					.addPreferredGap(ComponentPlacement.RELATED)
					.addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
						.addComponent(precoLivro, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
						.addComponent(lblPreoDoLivro))
					.addPreferredGap(ComponentPlacement.RELATED)
					.addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
						.addComponent(precoPromocionalLivro, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
						.addComponent(lblPreoPromocional))
					.addPreferredGap(ComponentPlacement.RELATED)
					.addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
						.addComponent(estoqueLivro, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
						.addComponent(lblNewLabel_3))
					.addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)
						.addGroup(gl_contentPane.createSequentialGroup()
							.addPreferredGap(ComponentPlacement.RELATED)
							.addComponent(resumoLivro, GroupLayout.PREFERRED_SIZE, 58, GroupLayout.PREFERRED_SIZE)
							.addPreferredGap(ComponentPlacement.RELATED)
							.addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
								.addComponent(btnCancelar)
								.addComponent(btnOk)))
						.addGroup(gl_contentPane.createSequentialGroup()
							.addGap(28)
							.addComponent(lblResumoDoLivro)))
					.addGap(219))
		);
		contentPane.setLayout(gl_contentPane);
	}
	
	 @Override
		public void actionPerformed(ActionEvent arg0) {
			if (arg0.getSource() == btnCancelar) {
				System.exit(0);
			}
	                
	                else if (arg0.getSource() == btnOk)
                            do {
	                    if(tituloLivro.getText().equals("") || autorLivro.getText().equals("") ||
                               edicaoLivro.getText().equals("") || precoLivro.getText().equals("") ||
                               precoPromocionalLivro.getText().equals("") || estoqueLivro.getText().equals("")){
                                
                                txtErro = "Nenhum campo pode estar vazio!";
	                    }
                            else if(autorLivro.getText().length() > 100 || tituloLivro.getText().length() > 100){
                                txtErro = txtErro + "\nTitulo e autor do livro devem ter no máximo 100 caracteres!";
                            }
                            
                            else if (Long.parseLong(precoLivro.getText()) > 1000 || Long.parseLong(precoPromocionalLivro.getText()) > 1000 ||
                                     Long.parseLong(precoLivro.getText()) <= 0   || Long.parseLong(precoPromocionalLivro.getName()) <= 0){
                                txtErro = txtErro + "\nLimite do preço do livro e preço promocional deve ser maior que R$ 0,00 e menor que R$ 1.000,00!";
                            }
                            
                            else if (Integer.parseInt(estoqueLivro.getText()) <= 0){
                                txtErro = txtErro + "\nEstoque deve ser maior que zero!";
                                }
                            }while(tituloLivro.getText().equals("") || autorLivro.getText().equals("") ||
                               edicaoLivro.getText().equals("") || precoLivro.getText().equals("") ||
                               precoPromocionalLivro.getText().equals("") || estoqueLivro.getText().equals("") ||
                               autorLivro.getText().length() > 100 || tituloLivro.getText().length() > 100 ||
                               Long.parseLong(precoLivro.getText()) > 1000 || Long.parseLong(precoPromocionalLivro.getText()) > 1000 ||
                               Long.parseLong(precoLivro.getText()) <= 0   || Long.parseLong(precoPromocionalLivro.getName()) <= 0 ||
                               Integer.parseInt(estoqueLivro.getText()) <= 0);
                        
                        l.setTituloLivro(tituloLivro.getText());
                        l.setAutorLivro(autorLivro.getText());
                        l.setEdicaoLivro(edicaoLivro.getText());
                        l.setPrecoLivro(Long.parseLong(precoLivro.getText()));
                        l.setPrecoProcionalLivro(Long.parseLong(precoPromocionalLivro.getText()));
                        l.setEstoqueLivro(Integer.parseInt(estoqueLivro.getText()));
                        
                        JOptionPane.showMessageDialog(null, "Livro adicionado com sucesso!");
	        }
}

Veja as linhas que você utiliza o Long.parseLong. Em algumas delas está passando null. Pode ser que um desses textField não esteja instanciado.

Localizei o erro, em um parse coloquei argumento TextField.getName() no lugar de TextField.getText() por engano. Problema resolvido, muito obrigado ErickRAR!

Vá no primeiro post clique em editar e mude o nome do tópico colocando [RESOLVIDO] antes do titulo para todos saberam que ja foi resolvido.!