आप ऐसा कर सकते हैं (मैंने जो लिखा है वह लगभग उसी तरह है:http://wiki.eclipse.org /RCP_Custom_Look_and_Feel ):अपने ApplicationWorkbenchWindowAdvisor क्लास में, आप अपनी खुद की प्रेजेंटेशन फैक्ट्री रजिस्टर कर सकते हैं जैसे:
public void preWindowOpen() {
WorkbenchAdapterBuilder.registerAdapters();
IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
configurer.setPresentationFactory(new UnCloseableEditorPresentationFactory());
}
क्लास UnCloseableEditorPresentationFactory वर्कबेंच प्रेजेंटेशन फैक्ट्री का विस्तार करता है, आप बस विधि को ओवरराइड कर सकते हैं
public StackPresentation creatEditorPresentation(Composite parent,IStackPresentationSite site)
as followings :
DefaultTabFolder folder = new UnCloseableEditorFolder(parent,
editorTabPosition | SWT.BORDER,
site.supportsState(IStackPresentationSite.STATE_MINIMIZED),
site.supportsState(IStackPresentationSite.STATE_MAXIMIZED));
// other code int this method is the same as the parent class
then is the class UnCloseableFolder
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder;
import org.eclipse.ui.internal.presentations.util.AbstractTabItem;
public class UnCloseableEditorFolder extends DefaultTabFolder {
public UnCloseableEditorFolder(Composite parent, int flags,
boolean allowMin, boolean allowMax) {
super(parent, flags, allowMin, allowMax);
}
@SuppressWarnings("restriction")
public AbstractTabItem add(int index, int flags) {
return super.add(index, flags ^ SWT.CLOSE);
}
}
फिर आप EditorPart में "X" बटन को हटा सकते हैं। यह मेरी मशीन में काम करता है~~