【问题标题】:Checking Data Binding's value in SWT/Jface在 SWT/Jface 中检查数据绑定的值
【发布时间】:2011-09-13 03:09:37
【问题描述】:

我正在尝试将我的 SWT UI 绑定到 Java 中的测试模型。绑定有效。但该值正是模型中的值。因此,如果模型是布尔值并且它返回 true,它会在 UI 小部件上按字面意思显示为“true”,这不是我想向用户展示的内容。有没有办法在放入 UI 小部件之前检查绑定值?假设模型返回 true,我检查模型值是否为 true,然后决定在我的标签上显示为“它是正确的”,否则如果为 false,则显示“不,它是错误的”。

类似地,如果我有一个标签并且我想将它绑定到一个返回帐户信用余额值的模型,我的标签可能已经有一些文本说“你的帐户有”,我希望我可以只将 THE_BOUND_VALUE 附加到标签上,而不会让整个标签的值被模型的值覆盖。以下是我的绑定方式:

IObservableValue tableViewer_myTestObserveSingleSelection = ViewersObservables.observeSingleSelection(tableViewer_myTest);
    IObservableList tableViewer_myTestDataContentObserveDetailList = BeansObservables.observeDetailList(tableViewer_myTestObserveSingleSelection, "DataContent", TestModelData.class);
    tableViewer_DataContent.setInput(tableViewer_myTestDataContentObserveDetailList);

这些代码是从 Eclipse 中的 windowsbuilder pro 生成的,但不知何故,我无法使用任何东西将方式绑定值修改为我希望在 UI 上显示的方式。

感谢您的帮助。

【问题讨论】:

    标签: java data-binding swt jface windowbuilder


    【解决方案1】:

    您可以使用Converters 在类型之间进行转换。看看this example

    【讨论】:

    • 感谢您的示例。这真的很有帮助。我对转换器很陌生。但是,当放入表查看器或具有主从关系的组件中并且其详细信息以列表的形式出现时,我似乎无法找到将转换器放入其中的方法。还是我错过了什么?这些 UpdateStrategy 的事情还有更多的例子吗? google的时候发现很少有这方面的例子。
    • @Xenon:您可以使用 ViewerSupport 绑定 tableviewer。使用查看器的标签提供程序来设置模型中值的实际显示方式。看到这个:dev.eclipse.org/viewcvs/viewvc.cgi/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-24
    • 2011-05-11
    • 2015-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多