org.eclipse.ui.dialogs.ListSelectionDialog输入选项?

org.eclipse.ui.dialogs.ListSelectionDialog输入选项?,eclipse,dialog,core,Eclipse,Dialog,Core,我尝试显示一个对话框,用于选择源的字段。 我喜欢使用ListSelectionDialog,但不确定输入参数使用什么。 web中的所有示例都使用 ResourcesPlugin.getWorkspace().getRoot() 作为输入,所有的项目都会显示出来。 但我有一个字段列表(IField[]),我想显示供选择。 ListSelectionDialog的构造函数接受该参数,但该对话框未显示任何内容…:( 有人有主意吗? 谢谢! Sven我认为使用BaseWorkbenchContentPr

我尝试显示一个对话框,用于选择源的字段。 我喜欢使用ListSelectionDialog,但不确定输入参数使用什么。 web中的所有示例都使用 ResourcesPlugin.getWorkspace().getRoot() 作为输入,所有的项目都会显示出来。 但我有一个字段列表(IField[]),我想显示供选择。 ListSelectionDialog的构造函数接受该参数,但该对话框未显示任何内容…:( 有人有主意吗? 谢谢!
Sven

我认为使用
BaseWorkbenchContentProvider
是不对的。试试
ArrayContentProvider

比如:

new ListSelectionDialog(shell, fields, new ArrayContentProvider(), labelProvider, msg);

您对内容提供程序和标签提供程序参数使用了什么?您好,Greg,我使用这个参数:公共静态IType[]chooseFields(Shell Shell,IField[]fields){ILabelProvider labelProvider=new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_默认);ListSelectionDialog=new ListSelectionDialog=new ListSelectionDialog(shell,fields,new BaseWorkbenchContentProvider(),labelProvider,“请选择用于创建缺少的文本条目的字段”);dialog.setTitle(“字段选择”);dialog.setMessage(“请选择字段”);dialog.setBlockOnOpen(true);if(dialog.open()==Window.OK){return dialog.getResult();}return null;}谢谢你,Greg,我不知道这个contentProvider就是解决方案:)