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.<em>;
import java.awt.</em>;
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):
public void actionPerformed(ActionEvent event)
{
if (textField.getText() != "") {
listModel.addElement(textField.getText());
getContentPane().invalidate();
getContentPane().validate();
}
}
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?
import javax.swing.*; import java.awt.*; import java.awt.event.*;public class SwingExemplo3Teste extends JFrame implements ActionListener
{
JList lista;
JButton botaoAdicionar;
JTextField textField;
JPanel panel;
JScrollPane scroll;
DefaultListModel listModel;
public SwingExemplo3Teste()
{
super("janela maluca de novo");
textField = new JTextField("Digita ae....");
botaoAdicionar = new JButton("Adicionar");
listModel = new DefaultListModel();
panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
// Adiciona um ítem inicial na lista
listModel.addElement("Ítem 1");
listModel.addElement("Ítem 2");
listModel.addElement("Ítem 3");
// Configura a lista
lista = new JList(listModel);
lista.setVisibleRowCount(3);
scroll = new JScrollPane(lista);
// Adiciona o campo de texto, a lista e o botão ao painel(panel)
botaoAdicionar.addActionListener(this);
panel.add(scroll);
panel.add(textField);
panel.add(botaoAdicionar);
getContentPane().add(panel);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Mostra 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[])
{
SwingExemplo3Teste s = new
SwingExemplo3Teste();
}
}
Opa!
pesquisei melhor e encontrei aqui:
http://www.guj.com.br/forum/viewtopic.php?t=2649
falow!