我正在侦听EditorRegistry中的更改,从中可以获取当前选择的JTextComponent。谁知道我该如何获取EditorCookie或DataObject?

JTextComponent jTextComponent = EditorRegistry.focusedComponent();
Document document = jTextComponent.getDocument();


而我该如何属于哪个项目呢?

最佳答案

DataObject很简单:

JTextComponent jTextComponent = EditorRegistry.focusedComponent();
Document document = jTextComponent.getDocument();
DataObject dobj = NbEditorUtilities.getDataObject(document);


通过数据对象的getCookie()方法可以轻松获得EditorCookie。

可以通过以下操作为数据对象检索Project对象:

Project owner = FileOwnerQuery.getOwner(dobj.getPrimaryFile());

10-05 22:45