Button 是否可以使用gxt 2.5在按钮中添加复选框

Button 是否可以使用gxt 2.5在按钮中添加复选框,button,checkbox,gxt,Button,Checkbox,Gxt,我的类扩展了gxt按钮,我想在按钮中添加一个复选框 但是没有在按钮中添加组件的方法 import com.extjs.gxt.ui.client.widget.button.button; 导入com.extjs.gxt.ui.client.widget.form.CheckBox; 公共类ButtonCheckBox扩展按钮{ 私有复选框; 公用钮扣盒(){ 复选框=新复选框(); 复选框。setBoxLabel(“复选框”); 设置宽度(200); } } 如果可能,我如何在按钮中添加ch

我的类扩展了gxt按钮,我想在按钮中添加一个复选框 但是没有在按钮中添加组件的方法

import com.extjs.gxt.ui.client.widget.button.button;
导入com.extjs.gxt.ui.client.widget.form.CheckBox;
公共类ButtonCheckBox扩展按钮{
私有复选框;
公用钮扣盒(){
复选框=新复选框();
复选框。setBoxLabel(“复选框”);
设置宽度(200);
}
}
如果可能,我如何在按钮中添加chckbox


使用GXT 2.x标准API似乎不可能,但可以使用HTML
模板实现

假设复选框的目的是作为按钮状态的指示器,我建议您改用
ToggleButton
,并修改其外观。您可以为其指定CSS类名,并根据其不同的状态应用不同的背景图像:

.my toggle button.x-btn-mc{
背景图像:url('images/toggle button/checkbox off.png');
}
.my-toggle-button.x-btn-pressed.x-btn-mc{
背景图像:url('images/toggle button/checkbox on.png');
}
参考资料(在GXT 2.2.5 API上)

    • 谢谢Eliran Malka,我使用下面的代码完成了这项工作

      import com.dips.pei.client.view.resources.Icons;
      import com.extjs.gxt.ui.client.event.ComponentEvent;
      import com.extjs.gxt.ui.client.widget.button.ToggleButton;
      import com.google.gwt.user.client.ui.AbstractImagePrototype;
      
      public class CheckBoxButton extends ToggleButton {
      
      public CheckBoxButton() {
          setIcon(AbstractImagePrototype.create(Icons.INSTANCE.notcheckedIcon()));
          setId("checkBoxButton");
      }
      
      @Override
      protected void onClick(ComponentEvent ce) {
          super.onClick(ce);
      
          if(isPressed()){
                  setIcon(AbstractImagePrototype.create(Icons.INSTANCE.checkedIcon()));
          }else{
              setIcon(AbstractImagePrototype.create(Icons.INSTANCE.notcheckedIcon()));
          }
      }
      }