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 - Fatal编程技术网

Gwt 单击按钮的处理程序

Gwt 单击按钮的处理程序,gwt,Gwt,在数据库中输入值后,我想添加一个按钮并向其添加click处理程序。 我想把那个按钮放在问候服务上。 帮帮我 publicstaticvoidedit1(stringfname、stringlnme、stringclgn、stringscn){ enter(fname、lnme、clgn、scn、new AsyncCallback() { 成功时的公共void(字符串结果) { 窗口。警报(“已成功输入”); //TODO自动生成的方法存根 按钮bt=新按钮(“提交”); RootPanel

在数据库中输入值后,我想添加一个按钮并向其添加click处理程序。 我想把那个按钮放在问候服务上。 帮帮我

publicstaticvoidedit1(stringfname、stringlnme、stringclgn、stringscn){
enter(fname、lnme、clgn、scn、new AsyncCallback()
{   
成功时的公共void(字符串结果)
{
窗口。警报(“已成功输入”);
//TODO自动生成的方法存根
按钮bt=新按钮(“提交”);
RootPanel.get().add(bt);
bt.addClickHandler(新的MyClickHandler);
}
失败时的公共无效(可丢弃)
{
窗口警报(“失败”);
}
});
}
类MyClickHandler实现ClickHandler
{
单击公共无效(单击事件e)
{
//创建();
}
}

但这不起作用。

是否需要单击处理程序? 不管怎么说,这就是我认为你想要做的:

Button bt =new Button("submit");
RootPanel.get().add(bt);
bt.addClickHandler(new MyClickHandler);

public static void edit1(String fnme,String lnme,String clgn,String scn)
{
    greetingService.enter(fnme,lnme,clgn,scn, new AsyncCallback<String>()
    {
        public void onSuccess(String result) 
        {
            Window.alert("successfully entered");
            // TODO Auto-generated method stub 
            create();
        }
        public void onFailure(Throwable caught) 
        {
                Window.alert("fail");
        }

    });
}

class MyClickHandler implements ClickHandler
{
    public void onClick(ClickEvent e)
    {
        // create();
    }
}
按钮bt=新按钮(“提交”);
RootPanel.get().add(bt);
bt.addClickHandler(新的MyClickHandler);
公共静态void edit1(字符串fnme、字符串lnme、字符串clgn、字符串scn)
{
enter(fname、lnme、clgn、scn、new AsyncCallback()
{
成功时的公共void(字符串结果)
{
窗口。警报(“已成功输入”);
//TODO自动生成的方法存根
创建();
}
失败时的公共无效(可丢弃)
{
窗口警报(“失败”);
}
});
}
类MyClickHandler实现ClickHandler
{
单击公共无效(单击事件e)
{
//创建();
}
}

您的
MyClickHandler
onClick()
方法中不执行任何操作。只要你输入代码,它就会工作。试试这个:

publicstaticvoidedit1(stringfname、stringlnme、stringclgn、stringscn){
enter(fname、lnme、clgn、scn、new AsyncCallback(){
成功时的公共void(字符串结果){
窗口。警报(“已成功输入”);
//TODO自动生成的方法存根
按钮bt=新按钮(“提交”);
RootPanel.get().add(bt);
bt.addClickHandler(新的MyClickHandler(){
单击公共无效(单击事件e){
//在这里做点什么
}
});
}
失败时的公共无效(可丢弃){
窗口警报(“失败”);
}
});
}
类MyClickHandler实现ClickHandler{
单击公共无效(单击事件e){
/*或者在这里做点什么,但这会影响到所有人
*MyClickHandler的实例
*/
}
}

是的,但这里我面临一个新问题,即如何从静态方法调用非静态方法实际上我想调用jsni方法。create()函数是我想调用的jsni方法。
Button bt =new Button("submit");
RootPanel.get().add(bt);
bt.addClickHandler(new MyClickHandler);

public static void edit1(String fnme,String lnme,String clgn,String scn)
{
    greetingService.enter(fnme,lnme,clgn,scn, new AsyncCallback<String>()
    {
        public void onSuccess(String result) 
        {
            Window.alert("successfully entered");
            // TODO Auto-generated method stub 
            create();
        }
        public void onFailure(Throwable caught) 
        {
                Window.alert("fail");
        }

    });
}

class MyClickHandler implements ClickHandler
{
    public void onClick(ClickEvent e)
    {
        // create();
    }
}