Cześć
Mam następujący problem z javą:
Mam jakiś główny panel, nazwijmy go mainPanel.
W mainPanel są dwa panele: panel1 i panel2.
W panel1 jest sobie zwykła lista JList z jakimiś elementami.
Chcę w zależności od wyboru elementu na liście w panel1 zmieniać zawartość panel2.
W tym momencie mam to zrobione tak:
panel2 (ten, który chcę zmieniać) ma metodę:
public void fillPanelFromModel(object model) {
// i tutaj jakiś update wszystkich komponentów w tym panelu
}
mainPanel (główny) ma metodę:
public void fillPanelFromModel(object model) {
panel2.fillPanelFromModel(model);
}
natomiast panel1 ma gdzieś zapisaną referencję do mainPanel, i następująco zdefiniowaną listę:
list.addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent e) {
mainPanel.fillPanelFromModel(list.getModel().getSelectedItem());
}
});
z grubsza tak to wygląda, i problem jest taki, że to nie działa - w sensie ten panel2 w ogóle się nie zmienia.
Wie ktoś może dlaczego tak się dzieje? Próbowałem dodać jakieś repaint, revalidate itp ale nie pomaga
Pozdrawiam
sav