gpt4 book ai didi

java - JCheckBox 数据模型,MVC

转载 作者:行者123 更新时间:2023-11-30 07:31:23 24 4
gpt4 key购买 nike

Swing JCheckBox 基于 MVC。因此,我希望我的 GUI 中的复选框使用我的自定义类提供的数据模型。

即:

checkBox1 被“绑定(bind)”到属性 isBackgroundShown
checkBox2 被“绑定(bind)”到属性 isResizingEnabled

复选框应基于属性状态,属性状态应在更改时触发复选框刷新。

最佳答案

实际上,AbstractButtons 没有“真正的”模型(应该可以跨按钮共享)——ButtonModel 具有每个实例的 View 状态(按下、准备)和更多类似数据的状态,如选中。更糟糕的是,按钮上的选定属性看起来只是绑定(bind)属性(带有 setter 和 getter),但实际上不是(从不触发 propertyChange)。

您的选择:

  • 实现一个 ButtonModel,它在所选更改时触发 PropertyChange,并将其设置为 JCheckBox,然后将模型的新属性绑定(bind)到您的数据属性
  • 使用一个 Action 作为中介并将其 Action.SELECTED_KEY 绑定(bind)到您的数据模型
  • 在 ButtonModel 之上实现一个适配器,如果选择发生变化,它将 changeEvents 映射到 propertyChangeEvents
  • 使用一个绑定(bind)框架,它会自动完成一个或另一个(JGoodies Binding 第一个,BeansBinding 最后一个)

关于java - JCheckBox 数据模型,MVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7371968/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com