Java . Wydobywanie obiektu klasy z JList.

Java . Wydobywanie obiektu klasy z JList.
X3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 310
0

Witam. Mam klasę:

Kopiuj
public class ChannelData 
{
    private String AName;
    private String AUrl;
    private String AGfxUrl;
}

Dodałem do JList:

Kopiuj
 JList<ChannelData> channelList = new JList<>(listModel);
owner.add(new JScrollPane(channelList));

Moje pytanie:
Jak teraz pobrać np. AUrl konkretnego klkniętego item?
Zrobiłem tak:

Kopiuj
        public void mouseClicked(MouseEvent evt) 
        {
            JList list = (JList)evt.getSource();
            if (evt.getClickCount() == 2) 
            {                
                // Double-click detected
                int index = list.locationToIndex(evt.getPoint());
                ListModel model = list.getModel();
            }
        }
    }

Nie wiem ,co dalej.

bogdans
  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
model.getElementAt(index);

Dlaczego komplikujesz kod programu i życie użytkownika wymagając podwójnego kliknięcia?

X3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 310
0

Z przyzwaczejnia z delphi i c++. A mógłbyś odpowiedzieć na moje pytanie. Zależy mi, bo piszę mój pierwszy program w javie. Na razie dużo pytań.
model.getElementAt(index);
I...?
Zrobiłem tak:
Object o = model.getElementAt(index);
Ale nie można pobrać AUrl.

bogdans
  • Rejestracja: dni
  • Ostatnio: dni
0

Jeśli klasy są w jednym pakiecie, to zmień modyfikator dostępu"

Kopiuj
protected String AUrl;

W przeciwnym razie dopisz getter w klasie ChannelData

Kopiuj
public String getAUrl()
{
    return AUrl;
}

Zmień też

Kopiuj
Object o = model.getElementAt(index);

na

Kopiuj
ChannelData channel = model.getElementAt(index);
Kopiuj
X3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 310
0

Dzięki. Będzie łatwiej.

X3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 310
0

Ale trzeba ChannelData channel = (ChannelData) model.getElementAt(index);
Chodzi supwer.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.