UseTabInApplication
From Protege Wiki
Using a Protege tab plug-in in your own application
This page shows how you can use an existing Protege tab widget plug-in as part of your application.
The following code snippet is an example of adding the OWLClassesTab
to a JFrame
.
package examples;
import java.awt.Component;
import java.util.ArrayList;
import javax.swing.JFrame;
import edu.stanford.smi.protege.model.Project;
import edu.stanford.smi.protege.model.WidgetDescriptor;
import edu.stanford.smi.protege.widget.TabWidget;
import edu.stanford.smi.protege.widget.WidgetUtilities;
import edu.stanford.smi.protegex.owl.ui.cls.OWLClassesTab;
public class StandaloneTabWidget {
public static void main(String[] args) {
ArrayList errors = new ArrayList();
Project prj = Project.loadProjectFromFile("/work/protege/projects/pizza/pizza.owl.pprj", errors);
if (errors.size() > 0) {
System.out.println("There were erros at loading prj: " + prj);
return;
}
// In the next line, replace "OWLClassesTab" with the plug-in class that you want to show in the JFrame
WidgetDescriptor widgetDescriptor = prj.getTabWidgetDescriptor(OWLClassesTab.class.getName());
if (widgetDescriptor == null) {
System.out.println("Cannot instantiate tab widget.");
return;
}
TabWidget widget = WidgetUtilities.createTabWidget(widgetDescriptor, prj);
JFrame frame = new JFrame("My Application Frame");
frame.getContentPane().add((Component)widget);
frame.pack();
frame.setVisible(true);
}
}
The following JAR files need to be on the classpath:
- From the Protege installation directory:
- protege.jar
- looks-2.1.3.jar
- (Optional) If you use OWL, add:
- all JAR files from the plugins/edu.stanford.smi.protegex.owl folder
- (Optional) If you use a tab plug-in that is not part of protege.jar or protege-owl.jar, you need to include:
- all JAR files from the plug-in's directory (e.g., for TGVizTab, add all the JAR files from plugins/uk.ac.iam.soton.akt.tgviztab)
- all JAR files that the plug-in depends on (e.g., if the plug-in depends on Protege-OWL, then add all the Protege-OWL JAR files). You can find information about the plug-ins that a plug-in depends on by looking in the
plugin.properties
file. See the documentation on declaring plug-in dependencies for more information.
See Also:
Using Protege Forms in other applications
How to write a tab widget plug-in