使用 Java 进行数据绑定

2022-09-04 02:43:35

我有一个应用程序,其中包含多个显示相同对象的窗口/视图。例如,我有一个用户对象,其中包含名称和位置字符串,以及用于其图片的图像图标。

然后在我的Windows上,我将像这样使用该用户对象的详细信息 -

  1. 我创建了一个JPanel。
  2. 我添加JLabels(nameLabel,locationLabel,imageLabel)
  3. 我为每个标签调用 setText() (或 setIcon for imageLabel),以将其文本/图像设置为用户对象数据。

我必须反复这样做

  1. 显示用户对象数据的每个窗口
  2. 每次更改用户对象时,我都必须在标签上再次调用 setText()。

在C#中,当我使用数据绑定时,因此当我更新对象时,它会自动反映在数据绑定到它的GUI元素中。Java是否存在类似的东西?


答案 1

您需要的是属性更改侦听器


答案 2

Java SE 应用程序设计一文中有一个数据绑定的示例。

请参阅使用 .AbstractModelPropertyChangeSupport

需要注意对象已更改的类将实现(请参见)。PropertyChangeListenerAbstractController


推荐