0

我有一个与标准 vaadin 按钮一起使用的 ButtonGroup,但我需要使用继承 Button 的 NativeButton 类。问题是如果我使用 NativeButton 按钮组不会呈现。

在职的:

Button b = new Button();
buttonGroup.addComponent(b);

不工作:

Button b = new NativeButton();
buttonGroup.addComponent(b);

知道如何使 ButtonGroup 与 NativeButton 一起使用吗?

Vaadin 版本:7.1.1

4

1 回答 1

1

调查源代码,显示ButtonGroup组件的“服务器端”(作为NativeButton的子类Button)支持本机按钮,但“客户端”不支持;请参阅此处的第 53 行。

在这里,小部件在VButton没有事先检查的情况下被强制转换;但是,如果是本机按钮,则必须是VNativeButton. 由于 VButton 和 VNativeButton 之间没有子类关系,这可能会导致客户端出错。

这显然是 ButtonGroup 的错误;我建议要么自己修复它,要么向作者报告错误,要么自己创建一个类似 ButtonGroup 的组件。毕竟,这主要是关于造型。

于 2013-10-31T09:23:10.763 回答