2010-10-15 5 views
9

टेक्स्ट को बदलने के दौरान मैं जेएलएबल पर ईवेंट को कैसे पुनः प्राप्त कर सकता हूं ??परिवर्तन टेक्स्ट इवेंट पर जेएलएबल

मेरे पास एक जेएलएबल है और जब टेक्स्ट को अंदर बदलता है तो मुझे अन्य फ़ील्ड अपडेट करना होगा।

+1

में परिवर्तन को ट्रिगर किया है, क्या पहले से ही दोनों क्षेत्रों को बदलने के लिए दोनों क्षेत्रों को अपडेट करना बेहतर होगा? –

+0

मैंने एक बटन पर क्लिक करके एक टेक्स्ट i jlabel1 रखा है और मैंने जो चुना है उसके आधार पर मुझे एक और टेक्स्ट डालना है I jLabel2 – Giovanni

उत्तर

2

आईएमएचओ आपको जेएलएबल्स टेक्स्टचेंज पर कोई ईवेंट नहीं मिल सकता है। लेकिन अगर आप एक JLabel के बजाय एक JTextField उपयोग कर सकते हैं:

private JTextField textFieldLabel = new JTextField(); 
textFieldLabel.setEditable(false); 
textFieldLabel.setOpaque(true); 
textFieldLabel.setBorder(null); 

textFieldLabel.getDocument().addDocumentListener(new DocumentListener() { 

    public void removeUpdate(DocumentEvent e) { 
     System.out.println("removeUpdate"); 
    } 

    public void insertUpdate(DocumentEvent e) { 
     System.out.println("insertUpdate"); 
    } 

    public void changedUpdate(DocumentEvent e) { 
     System.out.println("changedUpdate"); 
    } 
}); 

नोट: इस घटना चाहे कितना पाठ बदल जाती है निकाल दिया है; टेक्स्टफिल्ड पर "setText()" के माध्यम से प्रोग्रामेटिक रूप से या (यदि आप क्लिपबोर्ड कट/पेस्ट के माध्यम से "सेटएडेबल (झूठा)" नहीं करते हैं, या यूआई पर सीधे क्षेत्र में टाइप करने वाले उपयोगकर्ता द्वारा।

लाइनों:

textFieldLabel.setEditable(false); 
textFieldLabel.setOpaque(true); 
textFieldLabel.setBorder(null); 

JTextField एक JLabel की तरह लग रहे बनाने के लिए उपयोग किया जाता है।

PropertyChangeListener l = new PropertyChangeListener() { 
     public void propertyChanged(PropertyChangeEvent e) { 
      // do stuff here 
     } 
}; 
label.addPropertyChangeListener("text", l); 

नहीं की तरह संपत्ति, कुछ

+0

यह उत्तर गलत है (JLabel के लिए उपलब्ध श्रोताओं से संबंधित हिस्सा) – kleopatra

10

techically, जवाब एक PropertyChangeListener का उपयोग करें और "पाठ" के परिवर्तन को सुनने के लिए है, इसलिए तकनीकी रूप से: समग्र डिजाइन फिर से यात्रा करने के लिए और करने के लिए बाध्य करने के लिए लायक हो सकता है मूल स्रोत जिसने लेबल