2011-12-19 9 views
7

मैं अपने लेल में माउस श्रोता सेट करना चाहता हूं ताकि जब मैं उपयोगकर्ता को अपने माउस को लेबल पर रखूं तो कर्सर को HAND_CURSOR में बदल सकता है।कर्सर कैसे सेट कर सकते हैं: जीडब्ल्यूटी के साथ हाथ: लेबल

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

मैंने शैली सीएसएस "कर्सर: हाथ;" सेट करने की कोशिश की इस लेबल के लिए, लेकिन जब चलाया जाता है, तो सभी विशेषता कर्सर को प्रतिस्थापित किया गया था।

क्या आपके पास कोई सुझाव है?

+0

क्या आपका मतलब सीएसएस "कर्सर: पॉइंटर" है? –

+0

मैंने "कर्सर: पॉइंट" और "कर्सर: हाथ" की कोशिश की लेकिन यह अभी भी – Jimmy

+1

को बदल दिया गया था 'कर्सर: पॉइंटर! महत्वपूर्ण;' अपनी सीएसएस शैली को मजबूर करने के लिए अगर कुछ और इसे ओवरराइट कर रहा है। – Strelok

उत्तर

2

करने के लिए उचित तरीके से यह होगा:

.left_menu_title { 
cursor: pointer; 
} 

आप करने के लिए एक कोड चाहते हैं:

.left_menu_title { 
    cursor: pointer; 
} 

और

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

जैसा कि मैंने कहा कि कर्सर की सभी विशेषता प्रतिस्थापित की गई थी। यहां तक ​​कि "कर्सर: बिंदु;" "कर्सर: हाथ;" – Jimmy

+0

लेबल स्टाइल नियम जोड़ा गया। आप इसे लेबल के लिए सही घोषित नहीं कर रहे थे। –

+1

आपको शायद 'styleName' की बजाय' addStylesNames' का उपयोग करना चाहिए, लेकिन यह यहां चर्चा की गई समस्या से स्वतंत्र है; बस एक एफवाईआई। –

2

आप निम्न कार्य करने ही है कर्सर को पॉइंटर पर सेट करने की तुलना में अन्य चीज:

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

द्वारा user1557828 प्रदान की जवाब वास्तव में कर्सर को दिखाने के लिए जब माउस यह खत्म हो गया है, लेकिन वहाँ एक सरल तरीका एक ही परिणाम प्राप्त करने के लिए लेबल का कारण होगा:

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

यह सेट हो जाएगा तत्काल और कर्सर पर कर्सर जारी रहेगा। जब भी माउस लेबल पर चलता है तो शैली को दोबारा लागू करना आवश्यक नहीं है।

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

मैंने अपने कोड में यह कोशिश की है लेकिन यह काम नहीं कर रहा है कृपया मुझे उचित उत्तर दें कि इसे मेरे कोड में कहां रखा जाए ... – krupal