【问题标题】:calling variables from external JFrames从外部 JFrame 调用变量
【发布时间】:2010-06-23 05:35:15
【问题描述】:

我正在创建一个 Java 游戏,每个窗口都是一个单独的 JFrame 有自己的组件。

如何从其他 .java 程序调用变量? 不太清楚该怎么做。

【问题讨论】:

  • .java 程序是指同一程序(或 JVM)中的类还是加载到单独的 JVM 实例中的类?
  • 我认为这是XY problem

标签: java variables class jframe


【解决方案1】:

正在运行的 JVM 实例无法访问其他实例中的对象。 java虚拟机之间的通信必须通过其他方式来完成。

一种实用的方法是建立一个基于 TCP/IP 的接口。一个应用程序充当服务器(打开一个端口)并监听数据请求。基于 TCP/IP 的客户端/服务器解决方案在 Java 中并不太复杂。

另一个相当简单的替代方法是在文件系统上使用共享文件。数据提供者在更改时更新此文件,“客户端”监视此文件并在检测到更新/更改时加载内容(监视修改时间戳)。

提到第三种方法:Java Management Extensions (JMX) 也会有所帮助。 JConsole(jdk 的一部分)是一个关于如何连接到单独的 JVM 并访问(“公共”)数据和方法的实际示例。

【讨论】:

  • 基于文件的解决方案虽然非常简单,但听起来可能会遇到进程覆盖彼此更新的问题。不过,JMX 的想法非常酷且优雅。
  • @Carl - JMX 也是我的最爱,但很有挑战性......初学者应该从文件开始,以便及早尝到成功的滋味 :)
猜你喜欢
  • 1970-01-01
  • 2019-01-15
  • 2013-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-07
  • 2014-02-21
相关资源
最近更新 更多