Alguém pode me dizer o motivo da mensagem abaixo:
Exception in thread “main” java.lang.NullPointerException
at SwingExemplo3.(SwingExemplo3.java:37)
at SwingExemplo3.main(SwingExemplo3.java:67)
Este “erro” acontece ao executar o código.
Alguém pode me dizer o motivo da mensagem abaixo:
Exception in thread “main” java.lang.NullPointerException
at SwingExemplo3.(SwingExemplo3.java:37)
at SwingExemplo3.main(SwingExemplo3.java:67)
Este “erro” acontece ao executar o código.
O erro diz que vocÊ tentou utilizar um objeto não instanciado ou passou um parâmetro null onde deveria ser um objeto válido.
Poste o código se quiser uma ajuda mais detalhada.
Segue o código para maiores informações…
Grato!!
import javax.swing.;
import java.awt.;
import java.awt.event.*;
public class SwingExemplo3 extends JFrame implements ActionListener
{
JList lista;
JButton botaoAdicionar;
JTextField textField;
JPanel listPanel;
JPanel botaoPanel;
JScrollPane scroll;
DefaultListModel listModel;
public SwingExemplo3()
{
super("Treinamento em comandos JAVA");
textField = new JTextField("Digite seu nome.:");
botaoAdicionar = new JButton("Inserir");
listModel = new DefaultListModel();
botaoPanel = new JPanel();
// Adicionando um elemento inicial na lista
listModel.addElement("Inicio 1");
listModel.addElement("Inicio 2");
listModel.addElement("Inicio 3");
// Configurando a lista e adicionando no Painel
lista = new JList(listModel);
lista.setVisibleRowCount(3);
scroll = new JScrollPane(lista);
listPanel.add(scroll);
getContentPane().add(listPanel,BorderLayout.CENTER);
// adicionando texto e botao ao painel
botaoAdicionar.addActionListener(this);
botaoPanel.add(textField);
botaoPanel.add(botaoAdicionar);
getContentPane().add(botaoPanel,BorderLayout.SOUTH);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Exibe janela
pack();
setVisible(true);
}
public void actionPerformed(ActionEvent event)
{
if (textField.getText() != "")
{
listModel.addElement(textField.getText());
getContentPane().invalidate();
getContentPane().validate();
}
}
public static void main (String args[])
{
SwingExemplo3 s = new SwingExemplo3();
}
}
Você está tentando utilizar o Jpanel listPanel sem instacia-lo, ou seja, não tem nenhum listPanel = new JPanel(…) no seu código.
Ressussitando o tópico!!
esse código do colega (da revista FAQ nº3) só esta faltando o
listPanel = new JPanel();
mas eu não entendi esse trecho (eu acho que ele tem um Bug):
[code]public void actionPerformed(ActionEvent event)
{
if (textField.getText() != "") {
listModel.addElement(textField.getText());
getContentPane().invalidate();
getContentPane().validate();
}
}[/code]
cadê o Else dele??
se eu clico adicionar com a caixa em branco ele adiciona um espaço em branco e a caixa fica pequenininha!!
qual seria o melhor código para corrigir isso?