0

所以我有一个超类 Block,它扩展了 Composite 并使用 UIBinder 来制作布局

class Block extends Composite

我想为那个创建两个子类,每个子类都有一组不同的图标需要添加。例如 InactiveBlock 和 ActiveBlock。

我的问题是我希望通过 UIBinder 来制作两个块(图标和一些按钮、标签)的布局,然后将该 UIBinder(及其事件)添加到主块中。

显然我不能做类似的事情

class ActiveBlock extends Block, Composite
    add(initWidget(UIBinder.create(this)));

我怎么能做到这一点?

(ps如果我的问题不够清楚,请告诉我,以便我详细说明)

4

1 回答 1

1

我会把它变成一个单一的类,它的构造函数方法具有布尔值作为输入参数(活动/非活动)。

因此,您可以在类中定义所有常用字段和方法,如事件处理程序、图像等。然后使用构造函数方法将元素和处理程序添加到基本小部件。将向所有实例添加一些东西,这取决于它是否处于活动状态。

在这种情况下,您不会得到重复的代码,仍然会受益于使用 uibinder,并且最终您的代码将足够简单以供阅读。

于 2012-12-17T21:01:29.680 回答