0

私はGWTQueryを使用pasteしてテキストボックスのイベントを検出し、小さなタイマーを設定してから値を貼り付けています。このようなもの:

        $("#paste").live("paste",new Function() {
            public boolean f(Event e) {
                Timer t = new Timer() {
                    public void run() {
                        String text = paste.getText();
                        String oldtext = box.getText();
                        String oldsel = box.getSelectedText();
                        int oldpos = box.getCursorPos();
                        if (text.matches("^\\d+$")) {
                            box.setText(oldtext.substring(0,oldpos)+text+oldtext.substring(oldpos+oldsel.length(),oldtext.length()));
                            oldpos += text.length();
                        }
                        box.setReadOnly(false);
                        box.setFocus(true);
                        box.setCursorPos(oldpos);
                        paste.setText("");
                    }
                };
                t.schedule(5);

                return true;
            }
        });

これをメイン ファイル (onModuleLoad宣言されている場所、つまりブラウザに表示されるファイル) に含めると、期待どおりに動作します。ただし、テキストボックスを独自のパッケージに配置し、initWidgetそれらをメインファイルにインポートするように呼び出して、コードを区分化しました。このコードをそのクラスに配置すると、 のようなエラー メッセージが表示Uncaught exception escapedされます com.google.gwt.sample.myproject.client.Location$3$1.run。ここで何が問題なのか、どうすれば修正できるのか教えてもらえますか?

4

0 に答える 0