2011-12-19 9 views
7

Me gustaría establecer un oyente de ratón en mi Lable para poder cambiar el cursor a HAND_CURSOR cuando el usuario coloca el mouse sobre una etiqueta.Cómo se puede establecer el cursor: mano con GWT: etiqueta

<g:Label text="Overview" styleName="left_menu_title" ui:field="lb_overview"/> 

Traté de establecer el estilo css "cursor: hand;" para esta etiqueta, pero cuando se ejecuta, todos los atributos del cursor fueron reemplazados.

¿Tiene alguna sugerencia?

+0

¿Quieres decir css "cursor: puntero"? –

+0

Probé "cursor: point" y "cursor: hand" pero aún así se reemplazó – Jimmy

+1

add 'cursor: pointer! Important;' para forzar su estilo CSS si algo más lo sobreescribe. – Strelok

Respuesta

2

La forma correcta de hacerlo sería:

.left_menu_title { 
    cursor: pointer; 
} 

y

<g:Label text="Overview" styleName="{style.left_menu_title}" ui:field="lb_overview"/> 
+0

Como dije, todos los atributos del cursor fueron reemplazados. Incluso "cursor: punto"; "cursor: mano"; – Jimmy

+0

regla de estilo de etiqueta agregada. No estabas declarando lo correcto para la etiqueta. –

+1

Probablemente deberías usar 'addStylesNames' en lugar de' styleName', pero eso es independiente del problema discutido aquí; solo un FYI. –

2

sólo tiene que hacer lo siguiente:

.left_menu_title { 
cursor: pointer; 
} 

si quieres un código para hacer otra cosa que establecer el cursor al puntero:

import com.google.gwt.dom.client.Style.Cursor; 
import com.google.gwt.event.dom.client.MouseOverEvent; 
import com.google.gwt.event.dom.client.MouseOverHandler; 
import com.google.gwt.user.client.ui.Label; 

... 
... 
... 


final Label testLabel = new Label(); 
testLabel.addMouseOverHandler(new MouseOverHandler() {  
     @Override 
     public void onMouseOver(MouseOverEvent event) { 
      testLabel.getElement().getStyle().setCursor(Cursor.POINTER); 

      //TODO: any thing you want  
     } 
    }); 
19

La respuesta proporcionada por user1557828, de hecho, hacer que la etiqueta para mostrar el cursor cuando el ratón está sobre ella, pero hay una manera más sencilla de conseguir el mismo resultado:

Label testLabel = new Label("Text Goes Here); 
testLabel.getElement().getStyle().setCursor(Cursor.POINTER); 

Esto establecerá el cursor en la instanciación y el estilo persistirá. No es necesario volver a aplicar el estilo cada vez que el mouse se mueve sobre la etiqueta.

2
where to this one.. 
Label testLabel = new Label("Text Goes Here); 
testLabel.getElement().getStyle().setCursor(Cursor.POINTER); 

in my code provided below.. 

{ 
    xtype:'label', 
    text:'testLabel', 
    id:'cancel1', 
    Label testLabel = new Label("Text Goes Here); 
    testLabel.getElement().getStyle().setCursor(Cursor.POINTER); 
    listeners : { 
    render : function(d) { 
    d.getEl().on('click', function(){ this.fireEvent('click', d); }, d); 
} 
} 

} 
+0

He intentado esto en mi código pero no está funcionando por favor dame la respuesta adecuada donde ponerlo en mi código ... – krupal

Cuestiones relacionadas