जावा: स्क्रीन - जावा, स्विंग, एप्लेट, awt, दृश्यता पर एक एप्लेट दिखा रहा है या नहीं

मैं जावा में एक एप्लेट लिखने की कोशिश कर रहा हूं जो जांचता है कि यह स्क्रीन पर दिख रहा है या नहीं। यह जांचने के लिए कई विधियां हैं कि जावा एप्लेट या विशिष्ट घटकों को दिखाना चाहता है (यानी। .isShowing() या .isVisible() ) लेकिन उनमें से कोई भी जांच नहीं करता कि एप्लिकेशन स्क्रीन पर वास्तव में दिखाई दे रहा है या नहीं।

मान लीजिए कि आप टैब ए में एप्लेट शुरू करते हैंपसंदीदा ब्राउज़र जब आप टैब बी पर जाते हैं, तो एप्लेट अब और नहीं दिख रहा है, लेकिन अभी भी चल रहा है (Applet.stop () इस मामले में नहीं कहा जाता है)। या जब आपके पास एप्लेट के साथ पृष्ठ है लेकिन इससे पहले एक और स्थानांतरित करें। मुझे यह जांचने की ज़रूरत है कि क्या एप्लेट वास्तव में उपयोगकर्ता के लिए दृश्यमान है, किसी अन्य चीज से छुपा नहीं है (उदाहरण के लिए, किसी अन्य एप्लिकेशन के पीछे होना।)

मुझे लगता है कि जावा में ऐसा करने का कोई आसान तरीका नहीं है, क्योंकि मैंने इसके लिए पिछले 2 दिनों में गुगल किया है;) क्या कोई मुझे इसे प्राप्त करने के लिए कुछ रास्ता बता सकता है? तुम्हारी सहायता को खासा सराहा जाएगा।

उत्तर:

जवाब के लिए 0 № 1

मुझे एप्लेट्स के साथ ज्यादा अनुभव नहीं है, लेकिन जो मैं समझता हूं, उससे आपको यह जांचने की ज़रूरत नहीं है कि यह है या नहीं Visible या Showing, आपको यह जांचना होगा कि यह सक्रिय है या नहीं। इस जावा कोड को जांचें -> जावा कोड

या आप स्क्रीन पर एक सीमा परिभाषित कर सकते हैं औरपता लगाएं कि माउस उस से अधिक है। तो इस मामले में, आपको पता चलेगा कि क्या उपयोगकर्ता कुछ और पर काम कर रहा है भले ही एप्लेट दिखा रहा हो। (उपयोगकर्ता स्क्रीन पर एक ही समय में दो ब्राउज़र खोलता है)


जवाब के लिए 0 № 2

मैंने उसी समस्या को हल किया Frame.isFocused()


संबंधित सवाल
सबसे लोकप्रिय