Java ComboBoxViewerCellEditor在对象列表中显示字符串
问题陈述:获取在另一个类中声明为集合的类的getter和setter 数据模型 下拉式 如果有办法强制元素成为地址对象或检索地址,那就太好了。任何建议都可以使用setLabelProvider调用来设置标签提供程序,以获取集合中每个对象的字符串。标签提供程序类似于:Java ComboBoxViewerCellEditor在对象列表中显示字符串,java,swt,jface,Java,Swt,Jface,问题陈述:获取在另一个类中声明为集合的类的getter和setter 数据模型 下拉式 如果有办法强制元素成为地址对象或检索地址,那就太好了。任何建议都可以使用setLabelProvider调用来设置标签提供程序,以获取集合中每个对象的字符串。标签提供程序类似于: class CollectionLabelProvider extends LabelProvider { @Override public String getText(Object element) { //
class CollectionLabelProvider extends LabelProvider
{
@Override
public String getText(Object element)
{
// 'element' is an object from the collection
CollectionEntry entry = (CollectionEntry)element;
return entry.getString();
}
}
将“CollectionEntry”替换为您收藏中的类。Greg感谢您的回复。然而,我看到collectionEntry在hibernate包中,我可能可以通过编辑问题来更好地解释这种情况,因为它会抛出类似这样的错误com.example.e4.rcp.tables.OrgDetails无法转换为org.hibernate.engine.spi.collectionEntry
personTableViewer.setInput(//lsit of Persons from Database)
columViewer.setLabelProvider{...
...
}
DropDownInTable dot = new DropDownInTable(valcol.getViewer());
columnViewe.setEditingSupport(dot)
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;
}
class CollectionLabelProvider extends LabelProvider
{
@Override
public String getText(Object element)
{
// 'element' is an object from the collection
CollectionEntry entry = (CollectionEntry)element;
return entry.getString();
}
}