Mam pewien problem i nie wiem jak go naprawić. Błąd wyskakuje dopiero wtedy kiedy chcę użyć przycisku do wczytania Tablicy
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at com.company.Projekt$7.actionPerformed(Projekt.java:399)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
Wczytaj.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
DataInputStream wejscie = null;
DataOutputStream out = null;
try {
wejscie = new DataInputStream(new BufferedInputStream(new FileInputStream("C:\\Users\\Komp\\Desktop\\Ala Ma kota.txt")));
//TABlista_wyrobow[liczba_wyrobow] = new JZamowienie;
for (int k = 0; k <TABlista_wyrobow.length; k++) {
TABlista_wyrobow[liczba_wyrobow].opis_wyrobu = wejscie.readUTF(); <399
TABlista_wyrobow[liczba_wyrobow].dlugosc = (double) wejscie.readFloat();
TABlista_wyrobow[liczba_wyrobow].szerokosc = (double) wejscie.readFloat();
TABlista_wyrobow[liczba_wyrobow].wysokosc = (double) wejscie.readFloat();
TABlista_wyrobow[liczba_wyrobow].ilosc_polek = (int) wejscie.readFloat();
TABlista_wyrobow[liczba_wyrobow].cena_materialu = (double) wejscie.readFloat();
TABlista_wyrobow[liczba_wyrobow].do_zaplaty = (double) wejscie.readFloat();
DLMlista_wyrobow.addElement(TABlista_wyrobow[liczba_wyrobow].opis_wyrobu +
" : długość: " + TABlista_wyrobow[liczba_wyrobow].dlugosc +
", szerokość: " + TABlista_wyrobow[liczba_wyrobow].szerokosc +
", wysokość: " + TABlista_wyrobow[liczba_wyrobow].wysokosc +
", ilość półek: " + TABlista_wyrobow[liczba_wyrobow].szuflady() +
", cena materiału za m^2 = " + TABlista_wyrobow[liczba_wyrobow].cena_materialu +
", wynagrodzenie za m^2 = " + TABlista_wyrobow[liczba_wyrobow].do_zaplaty);
liczba_wyrobow++;
for (int i = 0; i < liczba_wyrobow; i++) {
suma_m2 = suma_m2 + TABlista_wyrobow[i].ile_m2();
}
for (int i = 0; i < liczba_wyrobow; i++) {
materialy = materialy + TABlista_wyrobow[i].ile_kasy();
}
for (int i = 0; i < liczba_wyrobow; i++) {
zarobek = zarobek + TABlista_wyrobow[i].ile_zarobku();
}
Lsuma.setText(NFzaokraglanie.format(suma_m2) + " m2 / " + NFzaokraglanie.format(materialy) + " zł. " + NFzaokraglanie.format(zarobek) + " zł ");
}
out.close(); // zamykamy strumień
} catch (IOException ex) {
ex.printStackTrace();
}
}
});