मेरे पास एक स्विंग टाइमर (javax.swing.Timer) है जिसका उपयोग कस्टम स्विंग घटक के भीतर कुछ एनीमेशन करने के लिए किया जाता है।एक घटक छुपाए जाने पर एक स्विंग टाइमर को रोकना
हालांकि, यह समस्याएं पैदा कर रहा है - विशेष रूप से ऐसा लगता है कि सभी विंडो बंद होने के बाद भी लाइव टाइमर थ्रेड के कारण एप्लिकेशन को समाप्त करने से रोकना प्रतीत होता है। एनीमेशन को देखा नहीं जा सकता है जब छुपे ऑब्जेक्ट्स पर चलने वाले टाइमर के ओवरहेड से बचना अच्छा होगा।
आदर्श रूप में मैं निम्न कार्य करना चाहते हैं:
- टाइमर बंद करें जब घटक
- प्रारंभ समय फिर जब भी घटक दिखाई
हो जाता है छिपा हुआ है करने के लिए यह संभव है (पाठ्यक्रम के थ्रेड-सुरक्षित तरीके में!)
हम्म .. क्या एक ancestorListener साथ कुछ गड़बड़ है (जो मेरा पहला विचार होगा)? – kleopatra
या आप इसे एक [कंपोनेंट लिस्टनर] (http://docs.oracle.com/javase/7/docs/api/java/awt/event/ComponentListener.html) जोड़ सकते हैं और ** timer.start()/रोकें() इसके घटक के अंदर हैड (...) और घटकशोउन (...) विधियों ** –
@ गगनदीप बालिन एक घटक लिस्टनर केवल एक प्रकार की संपत्ति है चेंजलिस्टर एक घटक की दृश्यमान संपत्ति के लिए, जो कि अगर नहीं बदला जाता हैएक पूर्वज छुपा/दिखाया गया है। – kleopatra