7
votes

Comment définir le curseur: main avec GWT: étiquette

J'aimerais définir un auditeur de souris sur mon étiquette afin que je puisse changer le curseur sur une main_cursor lorsque l'utilisateur place sa souris sur une étiquette. XXX

J'ai essayé de définir Style CSS "curseur: main;" Pour cette étiquette, mais lorsqu'il est exécuté, tous les curseurs d'attribut ont été remplacés.

Avez-vous une suggestion?


5 commentaires

Voulez-vous dire que CSS "curseur: pointeur"?


J'ai essayé "curseur: point" et "curseur: main" mais il était encore remplacé


Ajouter curseur: pointeur! IMPORTANT; Pour forcer votre style CSS si quelque chose d'autre écrase.


C'est parce qu'il n'y a pas de tel curseur comme point ou main défini dans la norme CSS. Le terme correct à utiliser est pointeur , comme l'a montré Chris dans sa réponse. Vous pouvez voir une liste de valeurs de curseur CSS valides ici: w3schools.com/cssref/pr_class_cursor.asp < / a>


Merci Strelok et Abdullah, j'ai changé CSS au curseur: Pointeur! IMPORTANT; et ça a fonctionné.


4 Réponses :


2
votes

La bonne façon de le faire serait:

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


4 commentaires

Comme je l'ai dit que tous les attributs du curseur ont été remplacés. Même "curseur: point;" "curseur: main;"


Ajout de la règle de style d'étiquette. Vous ne le laissez pas le savoir pour l'étiquette.


Vous devriez probablement utiliser addstylesnames plutôt que stylename , mais c'est indépendant de la question discutée ici; juste un fyi.


Merci gars, je l'ai corrigé en utilisant "Curseur: pointeur! Important;"



2
votes

Vous n'avez que pour effectuer ce qui suit:

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      
        }
    });


0 commentaires

19
votes

La réponse fournie par user1557828 EM> entraînera en fait l'étiquette de montrer le curseur lorsque la souris est sur elle, mais il existe un moyen plus simple d'obtenir le même résultat:

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


0 commentaires

2
votes
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);
}
}

}

1 commentaires

J'ai essayé cela dans mon code mais ça ne marche pas PLZ me donner la réponse appropriée où la mettre dans mon code ...