Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何扩展GWT_Gwt_Widget - Fatal编程技术网

如何扩展GWT

如何扩展GWT,gwt,widget,Gwt,Widget,我正在尝试扩展GWT的菜单项,在GWT中,您只能在那里放置文本,我想要的是在文本附近放置任何类似按钮的小部件。所以我开始从MenuItem创建一个子类,我遇到了很多问题。许多属性是私有的,我不能重写它们,或者我必须重写所有使用这些属性的函数。还有很多东西只有在包中才可见,所以我的实现必须遵循最初的GWT小部件,使用GWT的包结构 所以我认为扩展GWT小部件并不容易,我知道有一个复合类可以将不同的小部件打包在一起,但这不能解决所有问题。我不想使用其他第三代GWT库,比如smartGWT或GWTEx

我正在尝试扩展GWT的菜单项,在GWT中,您只能在那里放置文本,我想要的是在文本附近放置任何类似按钮的小部件。所以我开始从MenuItem创建一个子类,我遇到了很多问题。许多属性是私有的,我不能重写它们,或者我必须重写所有使用这些属性的函数。还有很多东西只有在包中才可见,所以我的实现必须遵循最初的GWT小部件,使用GWT的包结构

所以我认为扩展GWT小部件并不容易,我知道有一个复合类可以将不同的小部件打包在一起,但这不能解决所有问题。我不想使用其他第三代GWT库,比如smartGWT或GWTExt,它们变化很大,与GWT非常不同

所以我的问题是,有什么好方法可以扩展GWT的小部件吗?

类似的东西

    MenuBar menu = new MenuBar();
    Command cmd = new Command() {

        @Override
        public void execute() {
            Window.alert("you clicked me");
        }
    };
    MenuItem item = new MenuItem("click me", cmd);
    item.setHTML("<input type=\"button\" value=\"click\" />What the hell");
    menu.addItem(item);
MenuBar menu=new MenuBar();
Command cmd=new Command(){
@凌驾
public void execute(){
警告(“你点击了我”);
}
};
MenuItem=新建MenuItem(“单击我”,cmd);
setHTML(“该死的”);
菜单.附加项(项目);
像这样的东西

    MenuBar menu = new MenuBar();
    Command cmd = new Command() {

        @Override
        public void execute() {
            Window.alert("you clicked me");
        }
    };
    MenuItem item = new MenuItem("click me", cmd);
    item.setHTML("<input type=\"button\" value=\"click\" />What the hell");
    menu.addItem(item);
MenuBar menu=new MenuBar();
Command cmd=new Command(){
@凌驾
public void execute(){
警告(“你点击了我”);
}
};
MenuItem=新建MenuItem(“单击我”,cmd);
setHTML(“该死的”);
菜单.附加项(项目);