我正在制作一个从文件(Serialized objectInputStream)读取的小程序,该文件是一个注册表列表,其中每个条目都有一个设置为 true 或 false 的 boolean 变量。
在这个程序中,我有两个独立的 JPanel 类。一个是 A 类,可以更改这些变量的值,另一个是 B 类,检查这些变量是真还是假。 这两个类是在带有 main-method 的 gui-class 下创建的。
如果我更改了 A 类中的变量,如何才能看到 B 类中新的更新值? 我尝试在每个类中创建一个ObjectInput-输出流。这意味着对于每个更改,该类都会将其写入文件并在更改/读取之前将其读回。 这可行,但它是最佳的吗?有更好的方法吗?
最佳答案
您可以创建一个 C 类来保存您读取的信息。因此,B 类读取数据并将信息放入 C 类。当 A 类更改值时,它将触发一个事件来通知 B 类。
您可以使用HashMap<String, Boolean>
来存储数据。字符串是值的名称, boolean 值是值。然后你可以制作类似 public void update(String name, boolean newValue)
的方法在 B 类中。此方法将更新值,然后在您需要通知新值的所有类中调用方法。
关于Java数据文件在类之间共享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16511210/