在进程之间共享Java Canvas

时间:2016-05-11 14:56:28

标签: java java-native-interface awt java-canvas

如何在Java进程中创建java.awt.Canvas对象并将其传递给另一个(子)进程,让另一个进程在其上放置轻量级(swing)组件。子进程应该处理它放在画布上的组件的事件。当然,事件调度线程应该按预期运行。

1 个答案:

答案 0 :(得分:0)

无法在两个进程之间共享Canvas,因为Canvas是一个对象实例,您可以共享有关该对象的信息,而不是对象实例。

例如,您最终可以在两个进程上复制Canvas,但是在一个进程上更改值不会反映在第二个进程上,因为内存在进程之间是隔离的。

可以做的是创建一个从一个进程在画布上操作的类,并且可以使用Socket作为通信系统接受来自外部的指令。所以在这种情况下你有一个Canvas"导演"以及许多可以与之互动的流程。