2009-01-16 16 views
5

मेरे पास एक घटक है जिसका मैं एक स्टैंडअलोन जावा एप्लिकेशन के साथ-साथ जावा एप्लेट में भी उपयोग कर रहा हूं। मैं घटक के भीतर से कैसे पता लगा सकता हूं कि मेरा घटक एक एप्लेट में है या नहीं?कैसे बताएं कि मेरा जावा घटक एप्पल में है या नहीं?

इसके अलावा, एक बार जब मुझे लगता है कि मैं एक एप्लेट में चल रहा हूं, तो मैं ऐप्पल तक कैसे पहुंच सकता हूं?

उत्तर

2

मुझे लगता है कि आप बार-बार Component.getParent() पर कॉल करके इसे कंटेनर पेड़ के शीर्ष तक पहुंचने तक और फिर यह जांच कर सकते हैं कि वह कंटेनर instanceof Applet है या नहीं।

नीचे कोड पूरी तरह से अपरीक्षित है:

boolean isInAnApplet(Component c) 
{ 
    Component p = c.getParent(); 
    if (p != null) { 
     return isInAnApplet(p); 
    } else { 
     return (c instanceof Applet); 
    } 
} 
4

आप द्वारा SwingUtilities.getAncestorOfClass

+3

वहाँ भी है SwingUtilities.getRoot प्रत्यावर्तन के बिना यह कर सकते हैं। –

+0

ओह, अच्छा भी। – Epaga

संबंधित मुद्दे