mam taki kod

private JButton dodajZadanie;
  private JButton usunZadanie;
  private JButton wyswietlZadania;
  private JButton ustawAlert;
  private JTextField czyAlertUstawiony;
  private JButton drukuj,zapisz;
  private JLabel eDzien,eMc,eRok,eH,eOpis;
  private JTextField tDzien,tMc,tRok,tH,tOpis;
  private JTextArea okno;

  private class Dane
  {
   private int dzien, mc,rok;
   private int h,alert;
   private String opis; 
  };

  private class OpakDane
  {
    private Dane dane;
    private OpakDane nast;
  };

  OpakDane pocz=new OpakDane();
  OpakDane pom=new OpakDane();
  OpakDane tmp=new OpakDane();
  Dane dane=new Dane();

  //----------------------------------------------
  public void init() 
  {
    //pocz=wczytaj();
    Container c = getContentPane();
    c.setLayout(new BorderLayout());
    wyswietlZadania = new JButton("Wyświetl zadania");
    wyswietlZadania.setBackground(Color.white);
    wyswietlZadania.setMnemonic('W');
    wyswietlZadania.setToolTipText("Wyswietla zadania w wybranym dniu");
    wyswietlZadania.addActionListener(new ActionListener(){
        public void actionPerformed(ActionEvent w)
        {
             try{
            tmp.dane=dane;
            }    
            catch (NullPointerException d2)  
            { JOptionPane.showMessageDialog(null, 
              "Nie podałeś wszystkich danych", "Brak danych",
              JOptionPane.WARNING_MESSAGE); 
            }
            pom=pocz;
            while(pom != null) // ee tu jak daje podglad postu to mi sie cos dziwnego pojawia ma byc pom!=null
            {
              if(pom.dane.dzien==tmp.dane.dzien&&pom.dane.mc==tmp.dane.mc&&pom.dane.rok==tmp.dane.rok)
             {
               okno.append(Integer.toString(pom.dane.dzien));
               okno.append(" "+Integer.toString(pom.dane.mc));
               okno.append(" "+Integer.toString(pom.dane.rok));
               okno.append(" "+pom.dane.opis+"\n");
              }
             pom=pom.nast;
            } //koniec while
        }

i if zglasza mi null pointer exeption tylko nie wiem dlaczego...