もちろん、MouseUp ハンドラーは、widtet を使用している間だけ機能します。これが、ウィジェットから移動するとすぐに MouseUp イベントに反応しないため、ドラッグ アンド ドロップに使用できない理由です。
簡単な例を次に示します。
package XXX.client.XXXXXX;
import com.google.gwt.event.dom.client.MouseDownEvent;
import com.google.gwt.event.dom.client.MouseDownHandler;
import com.google.gwt.event.dom.client.MouseUpEvent;
import com.google.gwt.event.dom.client.MouseUpHandler;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.RootPanel;
public class MouseUp {
public MouseUp(){
Label label = new Label("hallo");
label.getElement().getStyle().setProperty("backgroundColor","red");
RootPanel.get().add(label);
label.addMouseDownHandler(new MouseDownHandler() {
@Override
public void onMouseDown(MouseDownEvent event) {
Label label = new Label("onMouseDown");
RootPanel.get().add(label);
}
});
label.addMouseUpHandler(new MouseUpHandler() {
@Override
public void onMouseUp(MouseUpEvent event) {
Label label = new Label("onMouseUp");
RootPanel.get().add(label);
}
});
}
}
ドラッグ アンド ドロップ機能を使用する場合は、以下を参照することをお勧めします