Mapowanie pomiędzy modelami danych

0

Witam

Mam 2 komponenty typu JList : jList1,jList2
oraz 2 modele dla każdej JListy: model1,model2
Obydwie reprezentują ten sam typ danych.
Różnica między tymi modelami jest taka ,że dane są inaczej posortowane w każdym ListModel.

Gdy zaznaczę określoną pozycję jList1 chcę aby ta sama dana była zaznaczona w jList2.
Czyli jakoś trzeba zmapować modele ze sobą.

Mogę to uzyskać poprzez porównanie zaznaczonego rekordu z model1 i porównywać go z rekordami z model2 i w ten sposób uzyskać index z jList2.
Tylko ten sposób wydaje się mało fachowy.
Może jest jakieś inne rozwiązanie jak w łatwiejszy,praktyczny lub fachowy sposób można to zrobić.

Czekam na wasze sugestie.

0

Może para metod getSelectedValue() i setSelectedValue(...)?

0

Musisz na obydwu listach podpiąć ListSelectionListener
http://download.oracle.com/javase/tutorial/uiswing/events/listselectionlistener.html

Szukanie odpowiedniej pozycji w drugiej tabeli (przy założeniu wspólnego modelu lub danych w obydwu modelach tak samo posortowanych):
tabela2.convertRowIndexToView(tabela1.convertRowIndexToModel(wiersz_z_tabeli1))

0

@__krzysiek85, chodzi o JList, nie o JTable. Nie ma metody convertRowIndexToModel().

1 użytkowników online, w tym zalogowanych: 0, gości: 1