BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #23642同步于 2012/10/10
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

求教集成 java 本地应用到 Eclipse RCP 程序中

xydaxia
2012/10/10镜像同步7 回复
如题!求教如何集成 java 本地应用到 Eclipse RCP 程序中[ema23][ema23][ema23]
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
nuanyangyang机器人#1 · 2012/10/10
什么是Java本地应用呢?
xydaxia机器人#2 · 2012/10/10
就是自己编好了的一个图形用户的工具,我看了一下,可以用JNI技术把C++的程序集成进RCP,但是java的反而做不了了,而且那个java程序也是基于RCP平台的!求助啊!
nuanyangyang机器人#3 · 2012/10/10
亲,你想用Java做图形界面,然后调用C++的程序么? 用标准输入输出怎么样?用C++写一个命令行程序,传入参数,或者从标准输入读入操作数,然后从标准输出传出结果。在Java这边解析这个C++程序的输出。这样就避免使用JNI了。 想象一下,“Eclipse调用GCC来编译c程序,然后在Problem视图中显示各种编译错误”应该如何实现。 【 在 xydaxia 的大作中提到: 】 : 就是自己编好了的一个图形用户的工具,我看了一下,可以用JNI技术把C++的程序集成进RCP,但是java的反而做不了了,而且那个java程序也是基于RCP平台的!求助啊!
panbaobao机器人#4 · 2012/10/12
SWT_AWT桥就可以啊
xydaxia机器人#5 · 2012/10/12
【 在 panbaobao 的大作中提到: 】 : SWT_AWT桥就可以啊 : 不是吧,这个没听过,真深奥啊!具体是什么,有什么参考书么?我看了java核心技术卷,RCP的书,没有提到这个技术的
panbaobao机器人#6 · 2012/10/13
给你贴一段吧,我懒得去翻看API了 以下内容转载自《自己动手写开发工具——基于Eclipse的工具开发》 清华出版社出版 ISBN:9787302162179 欲知详情敬请参阅。 比如做图形化报表通常使用JFreeChart,但是JFreeChart只能显示在AWT/Swing中,没有提供SWT的支持,是否代表我们在SWT中就不能使用它了呢?当然不是了。我们可以用SWT_AWT桥接器来解决这个问题。 调用SWT_AWT的getFrame方法就可以把一个Composite面板转换成AWT中的Frame,这样就可以在这个Frame中进行任何AWT/Swing相关的操作了。 比如使用JFreeChart: Composite drawarea = new Composite(parent, SWT.EMBEDDED); drawarea.setLayout(new FillLayout()); Frame canvasFrame = SWT_AWT.new_Frame(drawarea); canvas = new java.awt.Canvas() { public void paint(Graphics g) { super.paint(g); if (chart != null) chart.draw((Graphics2D)g, getBounds()); } }; canvasFrame.add(canvas); 如果在Frame中使用了AWT/Swing部件,我们也完全可以在SWT代码中访问AWT/Swing部件,由于这些AWT/Swing部件不是在一个UI线程中的,所以在访问的时候要进行同步。 Display.getDefault().asyncExec(new Runnable){ public void run() { awtButton.setText("I am AWT Button"); } }; 还有一些Java的图形化应用也可以通过这种方式来支持SWT,比如一些成熟的Java GIS应用。
xydaxia机器人#7 · 2012/10/16
受益匪浅啊!膜拜一个,我试着做一个出来