में बदलना मेरे पास एक वर्ग है जो जेएफआरएएम बढ़ाता है, और इसमें सीमा सीमा है। इसमें जेपीनल टाइप के दो निजी आवृत्ति चर हैं। वे बटन के पैनलों का प्रतिनिधित्व करते हैं और उन्हें फ्लिप बटन और आत्मविश्वास बुट्टन्स कहा जाता है। जब आप बटन पर क्लिक करते हैं, तो बटन के पैनल को बटन के दूसरे पैनल द्वारा प्रतिस्थापित किया जाता है। यही है, यदि आप फ्लिपबटन में एक बटन पर क्लिक करते हैं, तो फ्लिपबटन को आत्मविश्वास बटन द्वारा प्रतिस्थापित किया जाता है। मैं इस तरह यह करने की कोशिश की:जेपीनेल के साथ जेपीनेल को जेएफआरएएम
private class FlipListener implements ActionListener{ public void actionPerformed(ActionEvent e){ remove(flipButton); add(confidenceButtons,BorderLayout.SOUTH); validate(); ... } } private class ColorListener implements ActionListener{ ... public void actionPerformed(ActionEvent e){ ... remove(confidenceButtons); add(flipButton,BorderLayout.SOUTH); validate(); } }
flipButton में बटन FlipListeners है और confidenceButtons में लोगों ColorListeners है। जब प्रोग्राम चलाया जाता है, तो बटन पर क्लिक करने से पैनल हटा दिया जाएगा, लेकिन इसे बदलने के लिए कुछ भी नहीं जोड़ा जाता है। मैं क्या गलत कर रहा हूं?
संपादित
CardLayout निकला एक सरल और आसान समाधान किया जाना है। यह पता चला है कि उपर्युक्त कोड काम करता है; समस्या मेरे कोड के दूसरे खंड में एक टाइपो थी। >। < हालांकि, मुझे इन विधियों का उपयोग करने में हमेशा परेशानी होती है, और मुझे लगता है कि कार्डलाउट, मेरे लिए इसे सरल बनाता है। धन्यवाद।
को भी देखें मेरा पहला विचार। कार्डलेआउट इस उपयोग के मामले के लिए डिज़ाइन किया गया है, यह सबसे अच्छी रखरखाव योग्य विकल्प है। – extraneon
सरल समाधान और एक आकर्षण की तरह काम किया। धन्यवाद! – Shelley