termsdisplay.java

来自「Semantic Web Ontology Editor」· Java 代码 · 共 1,817 行 · 第 1/5 页

JAVA
1,817
字号
		lookupPanel.setLayout(new BorderLayout());		lookupPanel.add(lookupBtn, "West");		lookupPanel.add(lookupFld, "Center");		lookupPanel.add(searchAllChk, "East");		termTabPanel.add(termTabPane, "Center");		termTabPanel.add(lookupPanel, "South");		termPanel.add(termTabPanel, "Center");				// add termPanel to termListPanel and create add/edit buttons		termListPanel = new JPanel();		termListPanel.setLayout(new BorderLayout());		JPanel tp = new JPanel();		tp.setLayout(new BorderLayout());		tp.add(termPanel, "Center");		showImportChk = new JCheckBox("Show Imports");		showImportChk.setFont(tahoma);		showImportChk.addActionListener(this);		showImportChk.setSelected(swoopModel.getShowImports());		showQNamesChk = new JCheckBox("QNames");		showQNamesChk.setFont(tahoma);		showQNamesChk.addActionListener(this);		showQNamesChk.setSelected(swoopModel.getShowQNames());				reasoners = new ArrayList();				// find all the classes that implements SwoopReasoner		// interface and try to generate a reasoner		PluginLoader ph = PluginLoader.getInstance();		List list = ph.getClasses(SwoopReasoner.class);				if (!Swoop.isWebStart()) {			for(int i = 0; i < list.size(); i++) {				Class cls = (Class) list.get(i);				if(cls.isInterface()) continue;				try {					System.out.println("Try creating reasoner " + cls.getName());					SwoopReasoner reasoner = (SwoopReasoner) cls.newInstance();					reasoners.add(reasoner);				} 				catch (Throwable e) {					e.printStackTrace();					continue;				}			}		}		else {			// manually load reasoners for Webstart			reasoners.add(new SwoopToldReasoner());			reasoners.add(new SwoopRDFSReasoner());			reasoners.add(new PelletReasoner());		}				// add set of reasoners to swoopModel.reasonerMap		for (int i=0; i<reasoners.size(); i++) {			SwoopReasoner reas = (SwoopReasoner) reasoners.get(i); 			swoopModel.addReasonerMap(reas.getName(), reas);		}				// sort the reasoners alphabetically though place Told first		Collections.sort(reasoners, new Comparator() {						public int compare(Object o1, Object o2) {				SwoopReasoner r1 = (SwoopReasoner) o1;				SwoopReasoner r2 = (SwoopReasoner) o2;				if (r1 instanceof SwoopToldReasoner) return -1;				if (r2 instanceof SwoopToldReasoner) return 1;				return r1.getName().compareTo(r2.getName());							}					});				reasonerCombo = new JComboBox();		reasonerCombo.setFont(tahoma);		for(int i = 0; i < reasoners.size(); i++) {			SwoopReasoner reasoner = (SwoopReasoner) reasoners.get(i);			reasonerCombo.addItem(reasoner.getName());		}		reasonerCombo.addActionListener(this);		JPanel topPanel = new JPanel();		topPanel.setLayout(new BoxLayout(topPanel, BoxLayout.X_AXIS));		topPanel.add(showImportChk);		topPanel.add(Box.createHorizontalGlue());		topPanel.add(showQNamesChk);		topPanel.add(Box.createHorizontalGlue());				topPanel.add(reasonerCombo);		tp.add(topPanel, "North");		termListPanel.add(tp, "Center");				SwoopIcons swoopIcons = new SwoopIcons();		addClassBtn = new JButton("Add", SwoopIcons.smallClassIcon);		addClassBtn.setHorizontalTextPosition(AbstractButton.LEFT);		addPropBtn = new JButton("Add", SwoopIcons.smallPropIcon);		addPropBtn.setHorizontalTextPosition(AbstractButton.LEFT);		addIndBtn = new JButton("Add", SwoopIcons.smallIndIcon);		addIndBtn.setHorizontalTextPosition(AbstractButton.LEFT);		addGCIBtn = new JButton("Add GCI");		addGCIBtn.setHorizontalTextPosition(AbstractButton.LEFT);		remTermBtn = new JButton("Remove");		renameTermBtn = new JButton("Rename");				// add buttons to Entity Tool Bar		addClassBtn.setFont(tahoma);		addClassBtn.setEnabled(false);    	addClassBtn.addActionListener(this);        	        		addPropBtn.setFont(tahoma);		addPropBtn.setEnabled(false);		addPropBtn.addActionListener(this);		addIndBtn.setFont(tahoma);		addIndBtn.setEnabled(false);		addIndBtn.addActionListener(this);		addGCIBtn.setFont(tahoma);		addGCIBtn.setEnabled(false);		addGCIBtn.addActionListener(this);		remTermBtn.setFont(tahoma);		remTermBtn.setEnabled(false);		remTermBtn.addActionListener(this);		renameTermBtn.setFont(tahoma);		renameTermBtn.setEnabled(false);		renameTermBtn.addActionListener(this);		JPanel termToolBar = new JPanel();		termToolBar.setLayout(new GridLayout(2,3));		termToolBar.add(addClassBtn);		termToolBar.add(addPropBtn);		termToolBar.add(addIndBtn);		termListPanel.add(termToolBar, "North");		termToolBar.add(addGCIBtn);		termToolBar.add(remTermBtn);		termToolBar.add(renameTermBtn);				// add components to splitPane		splitPane.setLeftComponent(termListPanel);		termDisplayPane = new JTabbedPane();		termDisplayPane.setFont(tahoma);		termDisplayPane.getSelectedComponent();						// find all the other classes that implements entityRenderer		// interface and try to generate a renderer for them						if (!Swoop.isWebStart()) {			list = ph.getClasses(SwoopEntityRenderer.class);			for(int i = 0; i < list.size(); i++) {				Class cls = (Class) list.get(i);				if(cls.isInterface()) continue;				SwoopEntityRenderer renderer = null;				try {					renderer = (SwoopEntityRenderer) cls.newInstance();					renderers.add(renderer);				} catch (Throwable e) {					e.printStackTrace();					continue;				}			}		}		else {				// manually add renderers for webstart			renderers.add(new ConciseFormatEntityRenderer());			renderers.add(new AbstractSyntaxEntityRenderer());			renderers.add(new RDFXMLEntityRenderer());			renderers.add(new TurtleEntityRenderer());		}				// sort the renderers such that ConciseFormat is always first and the		// rest is ordered alphabetically		Collections.sort(renderers, new Comparator() {			public int compare(Object o1, Object o2) {				SwoopEntityRenderer r1 = (SwoopEntityRenderer) o1;				SwoopEntityRenderer r2 = (SwoopEntityRenderer) o2;				if(r1 instanceof ConciseFormatEntityRenderer)					return -1;				if(r2 instanceof ConciseFormatEntityRenderer)					return 1;				return r1.getName().compareTo(r2.getName());							}					});		// add the editor for each renderer 		for(int i = 0; i < renderers.size(); i++) {			SwoopEntityRenderer renderer = (SwoopEntityRenderer) renderers.get(i);			Component component = renderer.getDisplayComponent( this );			termDisplayPane.addTab(renderer.getName(), new JScrollPane( component ));			editors.add( component );		}				termDisplayPane.addChangeListener(this);				termDisplayEditPane = new JPanel();		termDisplayEditPane.setLayout(new BorderLayout());				// add warning label while editing in RDF/XML tab		warningEditLbl = new JLabel("", JLabel.CENTER);		warningEditLbl.setFont(tahoma);				// add apply/undo changes buttons		applyChangesBtn = new JButton("Apply Changes");		applyChangesBtn.addActionListener(this);		applyChangesBtn.setFont(tahoma);		undoChangesBtn = new JButton("Undo Changes");		undoChangesBtn.addActionListener(this);		undoChangesBtn.setFont(tahoma);		termEditButtonPane = new JPanel();		termEditButtonPane.setLayout(new BorderLayout());		JPanel buttonPane = new JPanel();		buttonPane.add(applyChangesBtn);		buttonPane.add(undoChangesBtn);		termEditButtonPane.add(warningEditLbl, "North");		termEditButtonPane.add(buttonPane, "Center");		termEditButtonPane.setVisible(swoopModel.getEditorEnabled());				// add term editable check box option		termEditableChk = new JCheckBox("Editable");		termEditableChk.addActionListener(this);		//termEditableChk.addChangeListener(this); // IMPORTANT: TURNING THIS ON CAUSES WEIRD (RANDOM) NOTIFICATION ERRORS		termEditableChk.setFont(tahoma); 		termEditableChk.setToolTipText("Toggle Editable Mode");		termEditableChk.setSelected(swoopModel.getEditorEnabled());				// add enable debugging check boxes		debugChk = new JCheckBoxMenuItem("Basic");		debugChk.addActionListener(this);		debugChk.addVetoableChangeListener(new EnableDebugListener());		debugChk.setFont(tahoma); 		debugChk.setToolTipText("Basic Debugging Mode - Clash information with Class Expression highlighting");		debugChk.setSelected(swoopModel.getEnableDebugging());				debugGlassChk = new JCheckBoxMenuItem("Display Clash / SOS Axioms Inline");		debugGlassChk.addActionListener(this);		debugGlassChk.addVetoableChangeListener(new EnableDebugListener());		debugGlassChk.setFont(tahoma); 		debugGlassChk.setToolTipText("Sets of Support Axioms for an Unsatisfiable Class");		debugGlassChk.setSelected(swoopModel.isDebugGlass());				debugBlackChk = new JCheckBoxMenuItem("Display Root / Derived");		debugBlackChk.addActionListener(this);		debugBlackChk.addVetoableChangeListener(new EnableDebugListener());		debugBlackChk.setFont(tahoma); 		debugBlackChk.setToolTipText("Black Box Debugging Mode - Root and Derived Unsat. Classes");		debugBlackChk.setSelected(swoopModel.isDebugBlack());				// add show inherited check box		showInheritedChk = new JCheckBox("Show Inherited");		showInheritedChk.addActionListener(this);		showInheritedChk.setFont(tahoma); 		showInheritedChk.setToolTipText("Show Inherited Domains, Ranges and Individuals while rendering Entities");		showInheritedChk.setSelected(swoopModel.getShowInherited());				// add show icons check box		showIconsChk = new JCheckBox("Show Icons");		showIconsChk.addActionListener(this);		showIconsChk.setFont(tahoma); 		showIconsChk.setToolTipText("Show Icons for OWL Objects");		showIconsChk.setVisible(swoopModel.getShowIcons());		termDisplayEditPane.add(termDisplayPane, "Center");				splitPane.setRightComponent(termDisplayEditPane);		centerPanel.add(splitPane);				// add components to main panel		setLayout(new BorderLayout());		add(topbtnPanel, "North");		add(centerPanel, "Center");				// set previously selected term index		if (termIndex!=-1) {			termList.setSelectedIndex(termIndex);					}		splitPane.setDividerLocation(280);	}		/*	 * Return current class and property trees	 */	public JTree[] getTrees() {		return this.trees;	}		/*	 * Return ontology the current class tree displays (if any)	 */	public OWLOntology getClassTreeOfOntology() {		return this.classTreeOfOntology;		}	 	/*	 * Return ontology the current property tree displays (if any)	 */	public OWLOntology getPropTreeOfOntology() {		return this.propTreeOfOntology;		}		public SwoopModel getSwoopModel() {		return this.swoopModel;	}		/**	 * Used to check if a URL clicked on in the entity pane	 * is a valid e-mail id or not	 * (need better regular expression matching here)	 * @param url	 * @return	 */	private boolean isEMailID(String url) {				// *** hack to check if string is a valid e-mail address or not		if (url.indexOf("@")>=0) {			int pos = url.indexOf("@");			if (url.indexOf(".", pos)>=0) {				if (url.toLowerCase().endsWith("com") || 					url.toLowerCase().endsWith("org") || 					url.toLowerCase().endsWith("edu") ||					url.toLowerCase().endsWith("net") ||					url.toLowerCase().endsWith("gov"))					return true;			}		}		return false;	}		/**	 * Add current selected entity to the SWOOP Resource Holder	 * The resource holder is Static - it saves a snapshot of the	 * current state of the entity as rendered in the entity pane. 	 * Can be used for comparing changes at a later stage	 */	public void addEntityToResourceHolder() {				if (swoopModel.selectedOWLObject==null) return;				String renderText = "";				// prefix timestamp and ontology at start		String timeStamp = swoopModel.getTimeStamp();		renderText = "<font face=\""+swoopModel.getFontFace()+"\" size="+swoopModel.getFontSize()+"><b>Time:</b>&nbsp;</i>"+timeStamp+"</i><br></font";				URI ontURI;		try {			ontURI = swoopModel.getSelectedOntology().getURI();			renderText += "<font face=\""+swoopModel.getFontFace()+"\" size="+swoopModel.getFontSize()+"><b>Ontology:</b>&nbsp;" + swoopModel.shortForm(ontURI) + "</font><br>";		} catch (OWLException e) {						e.printStackTrace();		}				// get current rendered text		if (swoopModel.selectedOWLObject instanceof OWLOntology) {			int rendererIndex = swoopHandler.ontDisplay.ontDescTab.getSelectedIndex();			JEditorPane editor = (JEditorPane) swoopHandler.ontDisplay.editors.get(rendererIndex);			renderText += "<font face=\""+swoopModel.getFontFace()+"\" size="+swoopModel.getFontSize()+">"+editor.getText();		}		else {			int rendererIndex = termDisplayPane.getSelectedIndex();			SwoopEntityRenderer renderer = (SwoopEntityRenderer) renderers.get(rendererIndex);						// take current text in displayed editorPane			Component editor = (Component) editors.get(rendererIndex);			if (editor instanceof JEditorPane) renderText += ((JEditorPane) editor).getText();			//			System.out.println(renderText);		}		try {			// add source, entity-uri and description as a string			//TODO: maybe pass entity object itself or its RDF/XML serialization instead			comparator.addEntity("Main SWOOP", swoopModel.selectedOWLObject.getURI(), renderText);		} catch (OWLException e1) {						e1.printStackTrace();		}		

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?