Java 将对象存储在ResourceSelectionHistory of FilteredItemSelectionDialog of string中
我一直在学习教程。在高级教程ResourceSelectionHistory中,存储选定的项目,并在重新启动对话框时检索该项目。我想让ResourceSelectionHistory存储对象,而不仅仅是字符串,我有没有办法做到这一点。 我还希望当用户单击这些项目时,它们会在编辑器中打开。当我单击实际填充列表中的项目时,它会打开,但当我单击显示历史记录的零件时,它不会打开 提前谢谢Java 将对象存储在ResourceSelectionHistory of FilteredItemSelectionDialog of string中,java,eclipse,eclipse-plugin,swt,jface,Java,Eclipse,Eclipse Plugin,Swt,Jface,我一直在学习教程。在高级教程ResourceSelectionHistory中,存储选定的项目,并在重新启动对话框时检索该项目。我想让ResourceSelectionHistory存储对象,而不仅仅是字符串,我有没有办法做到这一点。 我还希望当用户单击这些项目时,它们会在编辑器中打开。当我单击实际填充列表中的项目时,它会打开,但当我单击显示历史记录的零件时,它不会打开 提前谢谢 是啊 ResourceSelectionHistory非常特定于此对话框,只能存储资源。它使用IMemento机制存
是啊 ResourceSelectionHistory
非常特定于此对话框,只能存储资源。它使用IMemento
机制存储它们。可能您能做您想做的事情的唯一方法是复制类(FilteredResourcesSelectDialog
)并按自己的方式进行操作。如果您只遵循API,这些对话框往往会非常受限。您可以将字符串、整数和布尔值存储到IMemento
。您可以巧妙地利用它们来显示对象的类型。例如,您可以使用element.putInteger(“objType”,1)代码>如果您的对象是类型A和元素.putInteger(“objType”,2)代码>如果其类型为B。糟糕!对不起,我忘了添加超链接。现在补充说。好吧,我正在学习这个教程。还有别的办法吗。我已经扩展了filtereditmsselection对话框。
您可能需要创建SelectionHistory
的子类,然后找出如何在IMemento
中存储所需内容。您必须研究IMemento
如何存储对象(您可能需要以某种方式将对象字符串化)。我不知道你问题的第二部分是什么意思,关于从工作台历史打开对象。也许你可以编辑你的问题来澄清这一点?编辑了问题的第二部分。我在寻找的答案是如何解决这个问题。您能否提供指向IMemento
任何示例的链接。我们可以将对象存储在IMemento
中,还是只能存储字符串?