Topic: 如何在RCP的View or Editor 中使用JGraph? |
Print this page |
1.如何在RCP的View or Editor 中使用JGraph? | Copy to clipboard |
Posted by: dahen Posted on: 2005-06-01 17:12 如题。急等!! |
2.Re:如何在RCP的View or Editor 中使用JGraph? [Re: dahen] | Copy to clipboard |
Posted by: kite Posted on: 2005-06-02 14:06 使用SWT中的SWT_AWT类 |
3.Re:如何在RCP的View or Editor 中使用JGraph? [Re: dahen] | Copy to clipboard |
Posted by: dahen Posted on: 2005-06-02 16:33 非常感谢这位朋友的回复。 你说的没错。的确,在一个基于stand-alone SWT-Application的应用里面,用SWT_AWT 引入 JGraph是成功的。 但是,我现在是想将JGraph引入到基于RCP的应用中去。我上是这样做的,在ATestEditor extends EditorPart 的方法 createPartControl中,我的代码如下: public void createPartControl(Composite parent) { Composite container = new Composite(parent, SWT.EMBEDDED); container.setLayout(new FillLayout(SWT.VERTICAL)); final Frame frame = SWT_AWT.new_Frame(container); frame.add(getScrollPane()); graph = new JGraph();//new DefaultGraphModel() scrollPane.add(graph); // Control-drag should clone selection graph.setCloneable(true); // Enable edit without final RETURN keystroke graph.setInvokesStopCellEditing(true); // When over a cell, jump to its default port (we only have one, anyway) graph.setJumpToDefaultPort(true); } 但是,启动程序后,系统在打开一个editor实例时,提示如下错误信息: Unhandled event loop exception Reason: org/jgraph/JGraph 这是为什么呢? 烦请楼上的朋友指教! 不胜感激。 |
4.Re:如何在RCP的View or Editor 中使用JGraph? [Re: dahen] | Copy to clipboard |
Posted by: kite Posted on: 2005-06-03 12:03 看一下你的runtime-workbench\.metadata\.log文件,最好是先把这个文件删除,然后运行你的插件的测试,看一下这个文件的内容,你也可以把内容贴上来。 |
5.Re:如何在RCP的View or Editor 中使用JGraph? [Re: dahen] | Copy to clipboard |
Posted by: dahen Posted on: 2005-06-03 13:25 .log文件的内容如下。请帮忙看看问题在哪里,谢谢。 //////////////////////////////////////////////////////////////////////////////////////////// !SESSION 六月 03, 2005 13:24:55.375 ---------------------------------------------- eclipse.buildId=unknown java.version=1.5.0_02 java.vendor=Sun Microsystems Inc. BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=zh_CN Command-line arguments: -application com.ANetPlanner.ANetApplication -pdelaunch !ENTRY org.eclipse.core.runtime 六月 03, 2005 13:24:55.390 !MESSAGE Product org.eclipse.platform.ide could not be found. !ENTRY org.eclipse.ui 4 4 六月 03, 2005 13:25:03.453 !MESSAGE Unhandled event loop exception !ENTRY org.eclipse.ui 4 0 六月 03, 2005 13:25:03.453 !MESSAGE org/jgraph/graph/GraphModel !STACK 0 java.lang.NoClassDefFoundError: org/jgraph/graph/GraphModel at com.ANetPlanner.actions.OpenNetAction.openFile(OpenNetAction.java:82) at com.ANetPlanner.actions.OpenNetAction.run(OpenNetAction.java:70) at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:276) at org.eclipse.ui.internal.WWinPluginAction.runWithEvent(WWinPluginAction.java:206) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:915) at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:866) at org.eclipse.jface.action.ActionContributionItem$8.handleEvent(ActionContributionItem.java:824) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:796) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2773) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2432) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1377) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1348) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:254) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:141) at com.ANetPlanner.ANetApplication.run(ANetApplication.java:36) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:335) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:273) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:129) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.eclipse.core.launcher.Main.basicRun(Main.java:185) at org.eclipse.core.launcher.Main.run(Main.java:704) at org.eclipse.core.launcher.Main.main(Main.java:688) //////////////////////////////////////////////////////////////////////////////////////////// |
6.Re:如何在RCP的View or Editor 中使用JGraph? [Re: dahen] | Copy to clipboard |
Posted by: kite Posted on: 2005-06-03 14:47 从log看,应该是classpath有问题,一个可能是你没有把JGraph的相关的类文件放入你的环境中,对于这个问题可以参照plugin开发的文档将这些jar文件都作为require library(在你的plugin.xml文件中),或者是把jgraph也制作成plugin,然后将其作为你的plugin的required plugin。还有一种可能是JGraph有自己的classloader,对于这种情况,可能需要修改JGraph的classloader。 我的第一感觉是你把JGraph的所有相关的jar文件都加进来,并在plugin.xml文件中作为required应该就可以了。 |
7.Re:如何在RCP的View or Editor 中使用JGraph? [Re: dahen] | Copy to clipboard |
Posted by: dahen Posted on: 2005-06-03 16:58 非常感谢你!你对问题分析是正确的,我的确是没有将jgarph.jar作为外部库引入到系统中。这需要在plugin.xml的<runtime>中加入如下内容: <library name="jgraph.jar"> <export name="*"/> </library> 重新运行后,Ok。 再次感谢 kite。 如何给你加分? |
8.Re:如何在RCP的View or Editor 中使用JGraph? [Re: dahen] | Copy to clipboard |
Posted by: cnfree Posted on: 2005-06-03 22:28 不是吧,老大你不是真的是连类库路径都没加吧,我想想不怎么会出这么弱的问题呀,自己也没用过,没有把握,私下以为可能是JGraph的ClassLoader有问题,所以没说出来。:( 不过我倒是碰到过JDK的xml解析器和apache的解析器版本冲突的问题,不只是哪一个类库引用apache的xml解析器,因为jdk里也含有一个,类路径也一样,直接导致程序出问题,始终找不到其中的一个类。 |
9.Re:如何在RCP的View or Editor 中使用JGraph? [Re: dahen] | Copy to clipboard |
Posted by: yipsilon Posted on: 2005-06-04 13:56 rt.jar:com.sun.org.apache.* 里面肯定有跟你的apache解析器冲突的东西. ^_^ |
10.Re:如何在RCP的View or Editor 中使用JGraph? [Re: cnfree] | Copy to clipboard |
Posted by: dahen Posted on: 2005-06-06 08:40 cnfree wrote: 不是类库路径没加的问题,否则eclipse自动建构时就会报错(我的程序自动建构是Ok的)。因为是基于RCP的应用,被引用的外部库还需要在plugin.xml中特别说明(runtime中标示)。 |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |