Java 进程间通信

4

在命令行中运行Java类来运行运行中Swing中的某个类或函数,有这样的可能吗?

例如,当java Test asd将会将正在运行的Swing JLabel的文本设置为“asd”


1
这是可行的,但不是一个好的设计。 - jmj
@org.life.java:你怎么知道这不是一个好的设计? - Lukas Eder
@Lukas Eder 他试图在两个进程之间进行通信,这也可以使用其他技术来实现,你觉得呢? - jmj
这是一个非常痛苦的想法,但我没有选择,因为我正在进行我的毕业项目,我的讲师要求我使用一款专有软件“维他命D视频”,该软件可以进行人体检测,并在检测到人体时运行命令行。因此,我需要在我的Java Swing中显示人类活动。 - wizztjh
我没有黑客技能来理解汇编代码,所以我只能用这种方法...... - wizztjh
2个回答

9
这两个程序在不同的进程中运行。您需要创建进程之间的接口(或按照Matthew所说实现 进程间通信)。有成百上千种方法可以实现这一点,这里只是举几个例子:
  • 创建基于文件的接口(测试将写入一个文件,JLabel将读取该文件)
  • 创建两者之间的TCP/IP连接
  • 创建两者之间的HTTP连接(JLabel可能会运行类似glassfish的线程)
  • 创建JMS连接
  • 创建RMI方法调用
  • 创建Web服务(同样使用JLabel运行glassfish)
  • 还有很多其他方法...

2
您可能想要添加,这被称为进程间通信 - Matthew Flaschen

3
最直接的方法是创建一个RMI方法调用。这是从一开始就内置在Java中的,相当简单和轻量级。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接