java - Why are cardlayout keys passed as Objects? -


java.awt.CardLayout.addLayoutComponent (घटक कंप, ऑब्जेक्ट बाधाएं)

< P> "बाधाओं से निर्दिष्ट ऑब्जेक्ट्स को स्ट्रिंग होना चाहिए" docs.oracle से।

तो यह ऑब्जेक्ट एक स्ट्रिंग होना चाहिए, इसलिए ऑब्जेक्ट तर्क के रूप में क्यों लेता है? प्रश्न मुझे परेशान कर रहा है क्योंकि यह मुझे आशा करता है कि कार्डलेआउट के लिए कुंजी के रूप में उपयोग करने के लिए एक आसान तरीका है।

  सार्वजनिक वर्ग MainWindow JPanel {Private CardLayout cards = new CardLayout () ; सार्वजनिक मैनविंडो () {सेट लेआउट (कार्ड); Cards.addLayoutComponent (नया FirstComp), MyEnum.LONG_ANNOYING_NAME_ONE); Cards.addLayoutComponent (नया सेकंड कॉम्प (), मायएनम। LONG_ANNOYING_NAME_TWO); Cards.addLayoutComponent (नया थर्ड कॉम्प (), मायईनम। LONG_ANNOYING_NAME_THREE); / ** * नोटिस नहीं .toस्ट्रिंग () enums पर कॉल करें क्या मेरे * enum वर्ग को परिभाषित करने का एक तरीका है जिससे कि यह कार्यक्षमता संभव है? ** /} सार्वजनिक शून्य शो विधि (MyEnum शो) {cards.show (यह, MyEnum); }}  

  सार्वजनिक enum MyEnum {LONG_ANNOYING_NAME_ONE, LONG_ANNOYING_NAME_TWO, LONG_ANNOYING_NAME_THREE}  

लेआउटमैनेजर 2 addLayoutComponent परिभाषित करता है (घटक, ऑब्जेक्ट)। दूसरा तर्क उद्देश्य है क्योंकि विभिन्न लेआउट प्रबंधक विभिन्न प्रकार की बाधाओं का समर्थन कर सकते हैं। CardLayout LayoutManager2 को लागू करता है और जैसे कि इसे परिभाषित के रूप में विधि को कार्यान्वित करना होगा।


Comments

Popular posts from this blog

import - Python ImportError: No module named wmi -

Editing Python Class in Shell and SQLAlchemy -

c# - MySQL Parameterized Select Query joining tables issue -