java ComboBoxViewerCellEditor在对象列表中显示字符串
问题陈述:获取在另一个类中声明为集合的类的getter和setter
数据模型
Public Class Person{
String firstName;
String lastName;
Collection<Address> allAddresses = new ArrayList<Address>();
getFirstName(){..}
getLastName{..}
getContacts{....}
}
Public Class Address{
String Street;
String City;
getCity(){..};
getStreet(){..};
}
TableViewer内容
personTableViewer.setInput(//lsit of Persons from Database)
columViewer.setLabelProvider{...
...
}
DropDownInTable dot = new DropDownInTable(valcol.getViewer());
columnViewe.setEditingSupport(dot)
DropDownClass
private ComboBoxViewerCellEditor cellEditor=null;
potected CellEditor getCellEditor(Object element) {
//element here is person Object.I need setINput as getAddress().getCity()
//if there was way to make element as address Object It would be great
cellEditor.setInput(element.getAddress)
return cellEditor;
}
若有办法强制元素成为地址对象或检索地址,那个就太好了,任何建议都值得赞赏
# 1 楼答案
使用
setLabelProvider
调用设置标签提供程序,该提供程序获取集合中每个对象的字符串。标签提供程序类似于:将“CollectionEntry”替换为集合中的类