我继承了一个使用 JGoodies Binding 将域模型连接到 GUI 的项目。但是,我发现了一些不一致的地方,这也导致了一些错误。
在这个具体案例中,GUI 由两个单选按钮和一个标签表示。根据选择的按钮,标签应显示特定图像。这些按钮绑定到不同的枚举值,如下所示:
AbstractValueModel enumSelectionModel = presentationModel.getModel("selection");
radioBtn1 = BasicComponentFactory.createRadioButton(enumSelectionModel,
Selection.selection1, "");
radioBtn2 = BasicComponentFactory.createRadioButton(enumSelectionModel,
Selection.selection2, "");
"selection"
是绑定的属性,Selection
是Enum,意思是当改变不同的按钮时selection
,我模型中的属性设置为对应的Enum值。
我的问题是:如何将此属性绑定到标签显示的图像?
据我所见,JGoodies 非常适合将字符串之类的内容绑定到文本字段,但在这种情况下,还应该进行转换,一些逻辑决定将枚举属性映射到图像。