gpt4 book ai didi

java - GWT 单选按钮分组

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:35:29 25 4
gpt4 key购买 nike

在我的应用程序中,我有来自服务器的 URN 标识数据。我正在尽可能抽象的过程中,因此我的 View 中几乎没有逻辑代码,并且我正在使用包装这些 View 的通用演示器。所有小部件都有 URN,这使得将传入数据映射到特定小部件变得非常容易(直到现在,一对一的关系)。这几乎适用于每个小部件,现在我已经到了被绊倒的地步。

假设我有(为了简单起见)两个 RadioButton View 上的元素。这些按钮属于一个“组”(只需将它们的 name 值设置为相同的值),但显然它们是 2 个不同的元素。我无法像其他所有情况一样将我的 URN 标识数据映射到单个小部件,因为在这种情况下,它是两个小部件。

这是我的意思的一个例子:

mockup

公用事业公司是 ListBox ,所以那里只有一个小部件。我将列表中的每个项目映射到特定的枚举值。

实用率是 TextBox , 所以同样只有一个小部件要映射。

对于能源使用情况,他们可以选择使用当年的平均值或输入 12 个月度值。我被困在这里了。我无法映射到 RadioButton 中的一个元素,因为那时我需要在 View 中添加一些额外的逻辑来适本地处理行为。

我是否坚持映射到一个小部件并在我的 View 中坚持(不需要的)逻辑来确定所有元素的状态应该基于一个小部件的值,映射?

我该如何处理?

编辑(解决方案):按照 jusio 的回答的概念,我想出了一个可行的解决方案。因为我不想通过我的逻辑坚持特殊情况处理来处理非小部件,所以我创建了一个 RadioButtonSet人造小部件 ( public class RadioButtonSet <T extends Enum<?> & HasDisplayText> extends Widget implements HasValueChangeHandlers<T>, HasValue<T> ),我手动将要分组的 radio 传递到其中。完成后,我可以获取或设置它的值,并让它在用户更改选择时触发适当的事件。然后映射 radio 集合与为列表框这样做没有什么不同。谢谢 jusio。

最佳答案

我相信在你的情况下你不应该将单选按钮视为两个单独的小部件,基本上在你的情况下你可以将单选按钮组视为组合框,因为行为几乎相同(唯一的问题是你有额外的主细节)。所以基本上你要做的是将真正的 BO 对象包装到某种 RadioButtonGroupModel 中,并将其提供给 View , View 可以采用此模型并生成单选按钮(使用一些编辑器或其他任何东西)。我记得在为 JFace 扩展数据绑定(bind)固件时遇到过这个问题,这是我能找到的解决这个问题的最佳方法。

关于java - GWT 单选按钮分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8440914/

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