Cześć
W nazwie tematu są "wątki", tak naprawdę to nie mam pojęcia czy mój problem związany jest z wątkami. No ale dobra.
Problem jest następujący:
są dwa panele:
panel1
panel2
z czego panel1 zawiera panel2.
Panel2 posiada pole currentDescriptor, oraz metodę setDescriptor ustawiającą wartość tego pola.
Panel2 posiada także przycisk zdefiniowany następująco:
JButton button = new JButton(new AbstractAction() {
@Override
public void ActionPerformed(ActionEvent e) {
// tutaj jakieś operacje na currentDescriptor
}
});
Panel1 natomiast w konstruktorze wywołuje
Panel2.setDescriptor(new Descriptor());
Zatem, na chłopski rozum, Panel2.currentDescriptor powinien mieć nadaną jakąś wartość.
Jednakże, po wciśnięciu przycisku rzucany zostaje zawsze wyjątek null pointer exception. Nawet sprawdziłem w tym ActionPerformed że currentDescriptor nadal jest null.
Naprawdę nie wiem z czego to wynika, tak sobie pomyślałem że może ten event po wduszeniu przycisku jest wywoływany w osobnym wątku który nie jest zsynchronizowany, czy coś takiego... Ale nie mam pojęcia.
Wie ktoś może na czym polega tutaj problem, i ewentualnie ma jakieś materiały dotyczące tego wszystkiego?
Próbowałem szukać czegoś w internecie, ale szczerze to nawet nie wiem jak sformułować pytanie.
Pozdrawiam
sav