2010-05-30 9 views
7

मैं कैसे जांच सकता हूं कि टैब (नेस्टेड क्लास) के वर्ग में, JTabbedPane इंस्टेंस में कोई टैब सक्रिय है या नहीं, न कि संलग्न कक्षा में?यह जांचने के लिए कि टैब सक्रिय है या नहीं JTabbedPane में?

मुझे पता है कि एक विधि booloean isEnabledAt(int index); है लेकिन इस विधि को केवल संलग्न कक्षा में ही बुलाया जा सकता है। जबकि मैं यह जांचना चाहता हूं कि टैब वर्तमान में टैब क्लास (नेस्टेड क्लास) के भीतर चुना गया है या नहीं।

क्या कोई सुझाव दे सकता है कि कैसे?

उत्तर

13

आपके घटक में parent है, अंततः JTabbedPane है। JTabbedPane में getSelectedIndex() या getSelectedComponent() जैसी विधियां हैं।

+0

धन्यवाद। लेकिन मैं इन तरीकों को JTabbedPane के नेस्टेड क्लास में कैसे कॉल कर सकता हूं? क्योंकि आवश्यकता यह देखने के लिए है कि कोई टैब चुना गया है या नहीं और यदि यह है कि मुझे किसी घटक के पुराने संस्करण को हटाकर और इसे नए से बदलकर सामग्री को अपडेट करना होगा। उसकी प्राप्ति कैसे हो? – Supereme

7

मुझे पता है कि यह पुराना विषय है, लेकिन मुझे एक समान (हालांकि थोड़ा अलग) समस्या के समाधान की तलाश में मिला।

यह निर्धारित करने के लिए कि कौन सा टैब चुना गया था, ChangeEvent श्रोता का उपयोग करें। जब भी कोई टैब चुना जाता है तो यह कार्रवाई करने का एक बहुत ही आसान तरीका है। उम्मीद है कि यह किसी और की मदद करेगा, हालांकि यह एक पुराना विषय है।

private void zakladkiStateChanged(javax.swing.event.ChangeEvent evt) 
{          
    if (zakladki.getTitleAt(zakladki.getSelectedIndex()).equals("tab title here")) 
    { 
     // what you wish to do when tab is selected here .... 
    } 
} 
संबंधित मुद्दे