11
Chcę dodać handler na buttonelement i mam zaimplementowane go w następujący sposób. Proszę mi pomóc w rozwiązaniu problemu w tym kodzie. Nie chcę dodawać programu obsługi bezpośrednio w widgecie przycisku.Handler na elementach DOM w GWT
Button button = new Button("Click");
Element buttonElement = button.getElement();
Event.setEventListener(buttonElement, new EventListener() {
@Override
public void onBrowserEvent(Event event) {
String string = event.getType();
if(string.equalsIgnoreCase("click")) {
System.out.println("CLICK");
}
}
});
Event.sinkEvents(buttonElement, Event.ONCLICK);
, ale dlaczego musimy wywołać funkcję sinkEvents później. – Mani
Ponieważ 'Button' (i większość widżetów) będzie tylko _zmienić_ wydarzenie, jeśli jest dla niego obsługa; odbywa się to automatycznie przez 'addDomHandler'. Tutaj z jakiegoś nieznanego powodu nie chcesz 'addClickHandler', więc musisz sam wywołać' sinkEvents'. BTW, po co tworzyć widget "Button", jeśli nie używasz jego zdarzeń? Co powiesz na 'Document.get(). CreateButtonElement()'? –
@ThomasBroyer faktycznie chciałem uczynić wiersze datagrid przeciągalne i dla tego otrzymuję wiersz jako element i chciał dodać obsługi na nim. [http://stackoverflow.com/questions/16536118/make-the-of-the-datagrid-draggable-in-gwt/16538946?noredirect=1#16538946](thread) – Mani