From Protege Wiki

Jump to: navigation, search

Adding and Removing Tabs Programmatically

Using the Protege API, you can add or remove tab widgets (such as the "ClsesAndInstanceTab") from the user interface programmatically. To add or remove a tab, just replace the class name in the example below with the full class name of your tab widget.

Adding a Tab Widget

The following code snippet shows how the "ClsesAndInstances" tab can be progammatically added to Protege's main panel:

WidgetDescriptor tabWidgetDescriptor = prj.getTabWidgetDescriptor("edu.stanford.smi.protege.widget.ClsesAndInstancesTab");

ProjectView view = ProjectManager.getProjectManager().getCurrentProjectView();	    	

Removing a Tab Widget

The following code snippet shows how the "ClsesAndInstances" tab can be programmatically removed from Protege's main panel:

ProjectView view = ProjectManager.getProjectManager().getCurrentProjectView();	    
TabWidget tabWidget = view.getTabByClassName("edu.stanford.smi.protege.widget.ClsesAndInstancesTab");
if (tabWidget != null) {				
    int tabIndex = view.getTabbedPane().indexOfComponent((Component) tabWidget);
    if (tabIndex > 0) { view.getTabbedPane().removeTabAt(tabIndex); }


The ProjectView.getTabbedPane() method is deprecated, but still working. Future versions of Protege will hopefully support a better API for handling tab widgets.

Personal tools