Gwt表格问题

Gwt表格问题,gwt,Gwt,我有一个gwt表单,它有大约70-100个小部件(文本框、列表框、自定义小部件等) 我正在尝试在这个表单中实现剪切、复制的功能。为此,我在表单顶部有两个按钮 现在我遇到的问题是,当我点击复制按钮时,在表单中聚焦的小部件失去了焦点,我不知道要复制哪个文本(或者在焦点到达复制按钮之前,哪个小部件最后聚焦) 我曾计划在所有小部件上实现模糊处理程序,但我觉得这是一个非常费力的解决方案,不是一个好的解决方案 我怎样才能避开这个问题 谢谢也许有更深入的见解的人可以提供更好的方法,但我相信添加模糊处理程序是完

我有一个gwt表单,它有大约70-100个小部件(文本框、列表框、自定义小部件等)

我正在尝试在这个表单中实现剪切、复制的功能。为此,我在表单顶部有两个按钮

现在我遇到的问题是,当我点击复制按钮时,在表单中聚焦的小部件失去了焦点,我不知道要复制哪个文本(或者在焦点到达复制按钮之前,哪个小部件最后聚焦)

我曾计划在所有小部件上实现模糊处理程序,但我觉得这是一个非常费力的解决方案,不是一个好的解决方案

我怎样才能避开这个问题


谢谢

也许有更深入的见解的人可以提供更好的方法,但我相信添加模糊处理程序是完全有效的。我不太明白你为什么认为这会很费劲,毕竟你不需要为每个小部件使用不同的处理程序,你只需要一个就可以了(对于各种控件,最多一对),这里有一个非常简单的例子

public class CustomBlurHandler implements BlurHandler{
    Object lastSource;
    String text;    
    @Override
    public void onBlur(BlurEvent event) {
        if (event.getSource() instanceof TextBox) {             
            lastSource = event.getSource();
            text = textBox.getSelectedText();
        }       
    }   
    public Object getLastSource() {
        return lastSource;
    }
    public String getText() {
        return text;
    }
}
和onModuleLoad:

public class Test implements EntryPoint {       
    CustomBlurHandler handler = new CustomBlurHandler();        
    public void onModuleLoad() {
        TextBox text1 = new TextBox();
        TextBox text2 = new TextBox();          
        text1.addBlurHandler(handler);
        text2.addBlurHandler(handler);      
        Button b = new Button("Get last selected text");
        b.addClickHandler(new ClickHandler() {
            @Override
            public void onClick(ClickEvent event) {
                Window.alert(handler.getLastSource()+ " " + handler.getText());
            }
        });
        RootPanel.get().add(text1);
        RootPanel.get().add(text2);
        RootPanel.get().add(b);         
    }   
}

我在一定程度上利用了你的想法。在我的小部件中放入一个静态变量,每当文本框中的某些文本发生变化时,该变量就会得到更新。为静态文本输入getter和setter,效果非常好!!!