Java 创建容器的建议

Java 创建容器的建议,java,gwt,Java,Gwt,请参考下面的代码。 我已经编写了一个用于保存小部件的SamplePanel。 我没有扩展任何面板类来创建SamplePanel。 当我对它进行测试时,它正按预期工作。 现在我的问题是,我可以继续创建这样的面板吗?或者我应该从任何现有的GWT面板扩展吗? 将来可能会出现任何性能或任何其他问题 import com.google.gwt.user.client.DOM; import com.google.gwt.user.client.Element; import com.google.gwt.

请参考下面的代码。 我已经编写了一个用于保存小部件的SamplePanel。 我没有扩展任何面板类来创建SamplePanel。 当我对它进行测试时,它正按预期工作。 现在我的问题是,我可以继续创建这样的面板吗?或者我应该从任何现有的GWT面板扩展吗? 将来可能会出现任何性能或任何其他问题

import com.google.gwt.user.client.DOM;
import com.google.gwt.user.client.Element;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.Widget;

public class SamplePanel {

    private Element divContainer;

    public SamplePanel() {
        divContainer = DOM.createDiv();

    }

    public void addWidgets(Widget... widgets) {

        for (Widget widget : widgets) {
            addWidget(widget);
        }
    }

    public void addWidget(Widget widget) {

        if (widget instanceof TextBox) {
            widget.getElement().addClassName("textfieldtheme");
        }
        divContainer.appendChild(widget.getElement());

    }

    public Element getContainer() {
        return divContainer;
    }

}

许多标准GWT小部件(包括面板)具有不同的特定于浏览器的实现,并实现许多不同的接口

例如,这是GWT面板实现的接口列表:

HasAttachHandler、HashHandler、EventListener、HasVisibility、, HasWidgets,HasWidgets.ForIsWidget,IsWidget, java.lang.Iterable

LayoutPanel实现了更多功能:

HasattachHandler、Hashandler、EventListener、动画布局、, HasVisibility、HasWidgets、HasWidgets.ForIsWidget、IndexedPanel、, IndexedPanel.ForIsWidget、IsWidget、ProvidesResize、RequiresResize、, java.lang.Iterable

您的面板未实现其中任何一项。也许它们对于您的用例来说不是必需的,但是当您构建更复杂的用户界面时,很容易遗漏一些东西

我总是喜欢使用一个由成千上万的开发人员在现实生活中开发和测试的小部件,尽管我自己可以轻松地构建类似的东西