Error java.lang.NullPointerException

zar117

Lanero Novato
12 Ene 2011
0
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at meth.busca(meth.java:32) at Prin1$6.actionPerformed(Prin1.java:142) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:6267) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6032) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4630) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2478) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)​

Me podrían explicar el porque de este error?
les dejo los códigos.​

import javax.swing.*;
import java.awt.*;
import java.awt.LayoutManager.*;
import java.awt.event.*;
import javax.swing.JTabbedPane;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.util.*;
import java.io.*;
public class Prin1 implements java.io.Serializable
{
JFrame ven1,ven2,ven3,ven4;
JTabbedPane tab1,tab2,tab3,tab4,tab5;
JTextField tf1,tf2,tf3,tf4,tf5,tf6,tf,tf7,tf8,tf9,tf10;
JButton b1,b2,b3,b4,b5,b6;
JPanel pan1,pan2,pan3,pan4,pan5,pan6;
JLabel lb1,lb2,lb3,lb4,lb5,lb6;
meth discos=new meth();
meth pasar=new meth();
ArrayList<meth>xd=new ArrayList<meth>();
Prin1()
{
try{
FileInputStream dat=new FileInputStream("archivo.dat");
ObjectInputStream in=new ObjectInputStream(dat);
xd=(ArrayList<meth>)in.readObject();
in.close();
}
catch(FileNotFoundException e){
System.out.println("ERROR 1");
}
catch(Exception e){
System.out.println("ERROR!");
}
ven1=new JFrame();
tab1 =new JTabbedPane();
//Altas
pan1=new JPanel();
tf1=new JTextField(10);
tf1.addKeyListener(new KeyAdapter()
{
public void keyTyped(KeyEvent y)
{
char n=y.getKeyChar();
if(((n<'a')||(n>'z'))&&(n !=KeyEvent.VK_BACK_SPACE))
y.consume();
}
});
tf5=new JTextField(10);
tf5.addKeyListener(new KeyAdapter()
{
public void keyTyped(KeyEvent y)
{
char n=y.getKeyChar();
if(((n<'a')||(n>'z'))&&(n !=KeyEvent.VK_BACK_SPACE))
y.consume();
}
});
tf=new JTextField(10);
tf.addKeyListener(new KeyAdapter()
{
public void keyTyped(KeyEvent g)
{
char z=g.getKeyChar();
if(((z<'0')||(z>'9')) && (z!=KeyEvent.VK_BACK_SPACE))
g.consume();
}
});
lb1=new JLabel("Título");
lb5=new JLabel("Album");
JLabel e= new JLabel("Clave");
b1=new JButton("Aceptar");
//GridLayout g=new GridLayout(3,1);
b1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent p)
{
String title=tf1.getText();
String album=tf5.getText();
String clave=tf.getText();
meth discos2=new meth();
discos.altas(title, album,clave);
xd.add(discos);
tf1.setText("");
//JOptionPane.showMessageDialog(null,"Dado de alta " + title);
try{
ObjectOutputStream out= new ObjectOutputStream(new FileOutputStream("archivo.dat"));
out.writeObject(xd);
out.close();
}
catch(IOException e)
{
e.printStackTrace();
}
}});
//pan1.setLayout(g);
pan1.add(e,"North");
pan1.add(tf);
pan1.add(lb1);
pan1.add(tf1);
pan1.add(lb5);
pan1.add(tf5);
pan1.add(b1);
//Bajas
pan2=new JPanel();
tf2=new JTextField(10);
lb2=new JLabel("Título");
pan2.add(lb2,"Center");
pan2.add(tf2,"Left");
//Cambios
pan3=new JPanel();
tf3=new JTextField(10);
lb3=new JLabel("Título");
pan3.add(lb3,"Center");
pan3.add(tf3,"Left");
//Consultas
pan4=new JPanel();
tf4=new JTextField(10);
tf4.addKeyListener(new KeyAdapter()
{
public void keyTyped(KeyEvent p)
{
char v=p.getKeyChar();
if(((v<'0')||(v>'9')) && (v!=KeyEvent.VK_BACK_SPACE))
p.consume();
}
});
lb4=new JLabel("Clave");
pan4.add(lb4,"Center");
pan4.add(tf4,"Left");
b4=new JButton("Consultar");
pan4.add(b4);
b4.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent x)
{
meth llevar=new meth();
meth llevar2=new meth();
String clav=tf4.getText();
int i;
for(i=0;i<xd.size();i++) <-----------La posible causa del error:muerto::confused:
llevar.busca(llevar2,clav);
}
});
//pan4.add(b4);
//Aquí se agregan pestañas
tab1.add("Altas",pan1);
tab1.add("Bajas",pan2);
tab1.add("Cambios",pan3);
tab1.add("Consultas",pan4);
ven1.add(tab1);
ven1.setVisible(true);
ven1.setSize(500,500);
ven1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ven1.setLocationRelativeTo(null);
}
}​

Y el segundo código.​

import java.io.*;
import java.util.*;
import javax.swing.*;
import java.awt.*;
import java.awt.LayoutManager.*;
import java.awt.event.*;
import javax.swing.JTabbedPane;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class meth implements java.io.Serializable
{
private String clave2;
private String titulo2;
private String album2;
meth()
{
String titulo2="";
String album2="";
String clave2="";
}
public void altas(String title, String album, String clave)
{
clave2=clave;
titulo2=title;
album2=album;
JOptionPane.showMessageDialog(null,"Dado de alta " + titulo2+ album2);
}
public void busca(meth pasa, String clav)
{
if(pasa.clave2.equals(clav))
JOptionPane.showMessageDialog(null,"Encontró " + pasa.clave2);
}
}​
 

Los últimos temas