2011-12-19 18 views
7

Chciałbym ustawić odbiornik myszy dla mojej etykiety, aby zmienić kursor na HAND_CURSOR, gdy użytkownik umieści kursor myszy nad etykietą.Jak ustawić kursor: ręcznie za pomocą GWT: etykieta

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

Próbowałem ustawić styl css "kursor: ręka;" dla tej etykiety, ale po uruchomieniu wszystkie kursory atrybutów zostały zastąpione.

Masz jakieś sugestie?

+0

Masz na myśli css "kursor: wskaźnik"? –

+0

Próbowałem "kursor: punkt" i "kursor: ręka", ale wciąż był zamieniany – Jimmy

+1

dodać 'kursor: wskaźnik! Ważne;', aby wymusić swój styl CSS, jeśli coś innego jest nadpisywanie go. – Strelok

Odpowiedz

2

Właściwym sposobem na to byłoby:

.left_menu_title { 
    cursor: pointer; 
} 

i

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

Jak już powiedziałem, zastąpiono wszystkie atrybuty kursora. Nawet "kursor: punkt;" "kursor: ręka;" – Jimmy

+0

dodano regułę stylizacji etykiet. Nie deklarowałeś tego dla wytwórni. –

+1

Powinieneś raczej używać 'addStylesNames' zamiast' styleName', ale jest to niezależne od omawianego tu problemu; tylko FYI. –

2

Trzeba tylko wykonać następujące czynności:

.left_menu_title { 
cursor: pointer; 
} 

Jeśli chcesz kod do zrobienia poza ustawieniem kursora na wskaźniku:

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

Odpowiedź udzielana przez user1557828 będzie w rzeczywistości spowodować etykietę, aby pokazać kursor, gdy wskaźnik myszy znajduje się nad nim, ale jest prostszy sposób, aby osiągnąć ten sam rezultat:

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

Spowoduje to ustawienie kursor na wystąpienie i styl będą się utrzymywać. Nie jest konieczne ponowne stosowanie stylu za każdym razem, gdy mysz przesunie się nad etykietą.

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

próbowałem tego w moim kodzie, ale to nie działa plz daj mi odpowiednią odpowiedź, gdzie umieścić go w moim kodzie ... – krupal

Powiązane problemy