Erro :Exception in thread "main" java.lang.NullPointerException

3 respostas
R

Olá galera,sou aprendiz em programação e estou iniciando com java,estudei um pouco na faculdade,mas minha maior fonte é
FJ11 ,e o livro “como programar em java”.E estou com um erro em uma janela que estou tentando criar,agradeço desde já ajuda.

package janelas;

import javax.swing.<em>;

import java.awt.event.</em>;

import java.awt.*;

public class Gui1 extends JFrame {

private JButton bot1,bot2,bot3;//botão

private JLabel rot1,rot2;//rotulos

private JRadioButton select1,select2;//caixas de seleção

private ButtonGroup grupo;

private JTextField text1,text2;//campos de texto
public Gui1() {
    super("Orion Exercicio");
    
    Container conteiner=getContentPane();
    conteiner.setLayout(new FlowLayout());
    
    //criar botoes
    this.bot1=new JButton("ok");
    this.bot2=new JButton("cancel");
    this.bot3=new JButton("help");
    
    //criei os rotulos
    this.rot1=new JLabel("X");
    this.rot2=new JLabel("Y");
    
    //criei as caixas seleções
    this.select1=new JRadioButton("Snap to grid");
    this.select1=new JRadioButton("Show to grid");
    
    //crio as relações entre as caixas de seleção
    this.grupo=new ButtonGroup();
    this.grupo.add(select1);
    this.grupo.add(select2);
    
    //criar os campos de texto
    this.text1=new JTextField();
    this.text2=new JTextField();
    
    conteiner.add(this.select1);
    conteiner.add(this.rot1);
    conteiner.add(this.text1);
    conteiner.add(this.bot1);
    conteiner.add(this.select2);
    conteiner.add(this.rot2);
    conteiner.add(this.text2);
    conteiner.add(this.bot2);
    conteiner.add(this.bot3);
    
    setSize(300,150);
    setVisible(true);
    
}
public static void main(String [] args){
    Gui1 prog = new Gui1();
    prog.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
}

}

a trackrace ésta:Exception in thread main java.lang.NullPointerException

at java.awt.Container.addImpl(Container.java:1027)

at java.awt.Container.add(Container.java:352)

at janelas.Gui1.(Gui1.java:47)

at janelas.Gui1.main(Gui1.java:58)

3 Respostas

furutani

Olá

Eu acho que a variavel select2 está nula.

Use as tags [ code ] para postar codigos.

aix
package Janelas;

import javax.swing.*;
//import java.awt.event.*; ESSE IMPORT NÂO  ESTA SENDO USADO
import java.awt.*;

public class Gui1 extends JFrame {

	private static final long serialVersionUID = -2589686811061698718L;
	private JButton bot1, bot2, bot3;// botão
	private JLabel rot1, rot2;// rotulos
	private JRadioButton select1, select2;// caixas de seleção
	private ButtonGroup grupo;
	private JTextField text1, text2;// campos de texto

	public Gui1() {
		super("Orion Exercicio");

		Container conteiner = getContentPane();
		conteiner.setLayout(new FlowLayout());

		// criar botoes
		this.bot1 = new JButton("ok");
		this.bot2 = new JButton("cancel");
		this.bot3 = new JButton("help");

		// criei os rotulos
		this.rot1 = new JLabel("X");
		this.rot2 = new JLabel("Y");

		// criei as caixas seleções
		this.select1 = new JRadioButton("Snap to grid");
		this.select2 = new JRadioButton("Show to grid"); // O ERRO ESTA AQUI, PRECISA SER this.select2 = new JRadioButton("Show to grid)"!!! 

		// crio as relações entre as caixas de seleção
		this.grupo = new ButtonGroup();
		this.grupo.add(select1);
		this.grupo.add(select1);

		// criar os campos de texto
		this.text1 = new JTextField();
		this.text2 = new JTextField();

		conteiner.add(this.select1);
		conteiner.add(this.rot1);
		conteiner.add(this.text1);
		conteiner.add(this.bot1);
		conteiner.add(this.select2);
		conteiner.add(this.rot2);
		conteiner.add(this.text2);
		conteiner.add(this.bot2);
		conteiner.add(this.bot3);

		setSize(300, 150);
		setVisible(true);

	}

	public static void main(String[] args) {
		Gui1 prog = new Gui1();
		prog.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

	}

}
R

Obrigado pela paciência de vc’s,já que o erro é de falta de atenção minha.Mas é bom saber que tenho para onde recorrer em situações dificies.

Criado 16 de novembro de 2008
Ultima resposta 17 de nov. de 2008
Respostas 3
Participantes 3