从DualListField中删除图标按钮

时间:2014-11-09 00:34:22

标签: layout gxt multi-select

在GWT应用程序中,我使用的是DualListField,它有六个与之关联的图标按钮(箭头)?

我们的要求是只使用左箭头和右箭头。

但是小部件是在DualListField的构造函数中创建的,所以我无法禁用这些箭头,并且按钮被定义为私有而没有任何getter和setter。我们正在使用GXT 3.0.1

欢迎任何建议。

2 个答案:

答案 0 :(得分:0)

您可以扩展DualListField并隐藏所需的按钮。试试这个:

public class CustomDualListField<D extends ModelData> extends DualListField<D> {
    @Override
    protected void onRender(Element target, int index) {
        super.onRender(target, index);

        allRight.setVisible(false);
        up.setVisible(false);
        allLeft.setVisible(false);
        down.setVisible(false);
    }
}

答案 1 :(得分:0)

我试图找出解决方案,但他们打算保护DualListField免受开发人员更改或行为更改的影响。代码为Copyright(c) 2007-2012, Sencha, Inc.,因此以下解决方案可能不适用于商业用途。

您可以通过复制代码并进行更改来创建自己的DualList,或者通过在DualListField的副本上进行更改来覆盖其版本,然后将文件放在相同的包结构中使它覆盖JAR中的那个。

复制java文件DualListField并将其粘贴到名为com.sencha.gxt.widget.core.client.form的包中,然后删除所有不需要的IconButton并编译并使用它而不是原始文件。