首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在智能网关中更改vPanel的成员

如何在智能网关中更改vPanel的成员
EN

Stack Overflow用户
提问于 2012-03-18 18:33:16
回答 2查看 1.3K关注 0票数 2

有人知道如何动态地改变VPanel和HPanel的成员吗?在智能gwt.i中更改vpanel的成员时遇到问题。我想在单击事件时更改标签。这是示例代码,请查看。

代码语言:javascript
复制
import com.smartgwt.client.widgets.Button;
import com.smartgwt.client.widgets.Label;
import com.smartgwt.client.widgets.events.ClickEvent;
import com.smartgwt.client.widgets.events.ClickHandler;
import com.smartgwt.client.widgets.layout.VLayout;

public class TestingLayout {

    VLayout layout = new VLayout();
    VLayout layout2 = new VLayout();
    Label label1;
    Label label2;
    Button button1;
    Button button2;

    public TestingLayout() {

        label1 = new Label("Lbl 1");
        label2 = new Label("Lbl 2");

        button1 = new Button("Add Label 1 ");
        button2 = new Button("Add Label 2 ");


        button1.addClickHandler(new ClickHandler() {

            @Override
            public void onClick(ClickEvent event) {
                layout2.clear();
                layout2.addMember(label1);

            }
        });

        button2.addClickHandler(new ClickHandler() {

            @Override
            public void onClick(ClickEvent event) {
                layout2.clear();
                layout2.addMember(label2);

            }
        });

        layout.addMember(button1);
        layout.addMember(button2);
        layout2.addMember(label1);

        VLayout mainLayout = new  VLayout();
        mainLayout.addMember(layout);
        mainLayout.addMember(layout2);

        mainLayout.draw();

    }
}

请检查一下。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-19 04:46:01

要更改布局的成员,需要使用removeMembers()和addMembers()方法。但是,要更改标签上的文本,只需使用label.setContents("New COntent")

票数 2
EN

Stack Overflow用户

发布于 2012-03-23 01:59:23

我从问题中理解到的是,您希望在单击按钮时显示第二个标签。

代码语言:javascript
复制
    VLayout vlayout = new VLayout();

    label1 = new Label("Lbl 1");
    label2 = new Label("Lbl 2");
    label1.setVisible(false);
    label1.setVisible(false);

    button1 = new Button("Add Label 1 ");
    button2 = new Button("Add Label 2 ");

    button1.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            label1.show();
            label1.setVisible(true);
        }
    });

     button2.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            label2.show();
            label2.setVisible(true);
        }
    });

    vLayout.addMember(label1);
    vLayout.addMember(label2);


    VLayout mainLayout = new  VLayout();
    mainLayout.addMember(layout);
    mainLayout.addMember(button1);
    mainLayout.addMember(button2);

    mainLayout.draw();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9757612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档