[英]How to use ancestor's EventBus if I am extending Widget in GWT?
[英]Extending GWT's Widget Class
我正在創建一個名為“ Cell”的新類,該類擴展了GWT Widget類。 此類的目的是成為電子表格中的單元格-因此,它必須能夠在作為GWT Label對象和GWT TextBox對象之間進行切換。
我能想到的唯一方法是使Cell擴展Widget並包含一個名為“ cell”的私有Widget,我可以使用它存儲當前的Label或TextBox對象。 像這樣
public class Cell extends Widget {
private Widget cell;
...
}
不幸的是,這種解決方案並不理想,因為如果我希望Cell像Widget那樣完全運行,我將覆蓋Widget的方法以指向內部的“ cell” Widget。 有沒有更優雅的方式來創建可以是Label或TextBox的Cell Widget?
為什么不擴展Composite而不是擴展Widget?
public class Cell extends Composite {
private Label label;
private TextBox textBox;
private SomeContainerWidget container;
...
}
只需根據需要將label
或textBox
小部件添加/刪除到container
中。
使用復合是更優雅的方法,因為您不公開整個Widget接口,而只公開電子表格單元格所需的方法。
請查看GWT文檔中的此部分以構建自定義窗口小部件,以獲取更多信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.