क्या कोई मुझे बता सकता है कि कोड का यह टुकड़ा कंसोल पर क्यों प्रिंट करता है जब आप अपने माउस को चेक बॉक्स पर ले जाते हैं? "परिवर्तन" घटना क्या होती है?जेसीकबॉक्स परिवर्तन श्रोता घटनाओं पर माउस की अधिसूचना प्राप्त हो जाती है
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
public class Test {
public static void main(String[] args) {
JFrame f = new JFrame();
JCheckBox c = new JCheckBox("Print HELLO");
c.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
System.out.println("HELLO");
}
});
f.getContentPane().add(c);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.pack();
f.setVisible(true);
}
}
नोट: मैं एक कार्रवाई श्रोता का उपयोग नहीं करते क्योंकि मेरे कार्यक्रम में मैं ऐसा करने में सक्षम होना चाहता हूँ:
checkBox.setSelected(boolean)
और मेरे श्रोता अधिसूचित, एक के साथ नहीं किया जा सकता है जो है कार्रवाई श्रोता। तो क्या इस "माउस ओवर" ईवेंट को अक्षम करने का कोई तरीका है या किसी अन्य तरीके से मैं अपने श्रोता को कार्यान्वित कर सकता हूं?
अजीब, मैंने सोचा कि 'सेट सेलेक्टेड' का उपयोग करके परिवर्तन श्रोताओं को ट्रिगर करेगा। मुझे कुछ और सोचना चाहिए। – jeef3
यदि मै मैक ओएसएक्स पर जावा 5 पर चलाता हूं तो मुझे घटनाओं पर माउस नहीं मिलता है। – banjollity
@ jeef3: सेट चयनित चयन घटनाओं को ट्रिगर करता है। यही कारण है कि मैं इसका उपयोग कर रहा हूँ। बात यह है कि परिवर्तन घटनाओं को गति से माउस द्वारा ट्रिगर किया जाता है :) –