Получение экземпляра объекта из Jlist - PullRequest
0 голосов
/ 04 апреля 2011
if(evt.getClickCount() == 2){
int index = locLst.locationToIndex(evt.getPoint());
ListModel dlm = locLst.getModel();
Object item = dlm.getElementAt(index);;
locLst.ensureIndexIsVisible(index);
System.out.println("Double clicked on " + item);
//Location loct = item.getClass();
DeedCard.setVisible(true);
TitleDeedLbl.setText(item.toString());
System.out.println(item.getClass);
item.equals(loc);
System.out.println(loc);
System.out.println(ha);
}

Приведенный выше код получает элемент в jList при двойном щелчке по нему и устанавливает Jlabel с помощью setText и item.toString (), поэтому он устанавливает метку объекта toString ().

это работает, но я пытаюсь преобразовать java.lang.object в экземпляр класса класса "Location", а не просто объекта типа.поскольку я не могу получить методы, которые находятся в этом классе, getName () и т. д., только метод toString, что мне делать, спасибо

Ответы [ 2 ]

2 голосов
/ 04 апреля 2011

Попробуйте

Location item = (Location) dlm.getElementAt(index);

и затем вы можете позвонить item.getName() и т. Д.,

1 голос
/ 04 апреля 2011

Если вы не уверены в типе времени выполнения объекта, вы можете проверить его с помощью instanceof:

Object obj = dlm.getElementAt(index);
if (obj instanceof Location){
 Location item = (Location) obj;
}
...