2011-02-09 4 views
9

¿Cómo puedo añadir a los manipuladores clic HorizontalPanel?Añadir un controlador de clic a un HorizontalPanel en GWT

Funcionó con el uso de addDomHandler() en las versiones más nuevas de GWT, pero tuve que actualizar a GWT 2.0.4 donde esto no es compatible. Solía ​​hacerlo así:

horizontalPanel.getWidget(1).addDomHandler(someClickHandler,ClickEvent.getType()); 
//or 
horizontalPanel.addDomHandler(someClickHandler, ClickEvent.getType()); 

Respuesta

31

Utilice FocusPanels en lugar de enganchar eventos nativos. Para la captura de clics para el conjunto del panel:

FocusPanel wrapper = new FocusPanel(); 
HorizontalPanel panel = new HorizontalPanel(); 
wrapper.add(panel); 
wrapper.addClickHandler(new ClickHandler() { 
    @Override 
    public void onClick(ClickEvent event) { 
    // Handle the click 
    } 
}); 

// Add wrapper to the parent widget that previously held panel. 

O para atrapar clics dentro de una celda de la HorizontalPanel:

IsWidget child; // Any widget 
HorizontalPanel panel = new HorizontalPanel(); 
FocusPanel clickBox = new FocusPanel(); 

clickBox.add(child); 
panel.add(clickBox); 

clickBox.addClickHandler(...); 
+0

gracias, señor. –

Cuestiones relacionadas