2010-08-16 26 views
39

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

उत्तर

5

आपको ऑरैकल पर कक्षाओं को देखने के लिए उपयोगी लग सकता है। उदाहरण के लिए:

http://download.oracle.com/javase/1.4.2/docs/api/javax/swing/JFrame.html

वहाँ आप देख सकते हैं कि JFrame फैली JComponent और JContainer।

जेकंपोनेंट एक मूल वस्तु है जिसे खींचा जा सकता है, जेकॉन्टैनर इसे विस्तारित करता है ताकि आप इसमें घटक जोड़ सकें। जेपीनल और जेएफआरएएम दोनों जेकंपोनेंट का विस्तार करते हैं क्योंकि आप उन्हें चीजें जोड़ सकते हैं। जेएफआरएम एक खिड़की प्रदान करता है, जबकि जेपीनेल सिर्फ एक पैनल है जो खिड़की के अंदर जाता है। यदि इसका कोई औचित्य हो।

+3

एक साइड नोट के रूप में, विरासत श्रृंखला कुछ स्विंग घटकों के साथ हास्यास्पद है। यह आईडीईएस में कोड पूरा करने के साथ-साथ javadocs को अव्यवस्थित बनाता है। उन्हें वास्तव में उस चीज़ को फिर से लिखना होगा – TheLQ

+1

मैं यह इंगित करना चाहता हूं कि जेएफआरएएम जेकंपोनेंट या जेकॉन्टैनर का विस्तार नहीं करता है, बल्कि उस क्रम में java.awt.Container और java.awt.Component का विस्तार नहीं करता है। –

+1

@ लुकास मॉर्गन उन्होंने सोचा था कि उन्होंने जेफ्रेम को स्विंग पर कम निर्भर किया होगा। चूंकि यह एडब्ल्यूटी का उपयोग करता है, मुझे आश्चर्य है कि क्या आप जेएफ़्रेम में जेएफआरएएम का उपयोग कर सकते हैं। –

17

जेएफआरएएम और जेप्लेट शीर्ष स्तर के कंटेनर हैं। यदि आप डेस्कटॉप एप्लिकेशन बनाना चाहते हैं, तो आप जेफ्रेम का उपयोग करेंगे और यदि आप ब्राउज़र में अपना एप्लिकेशन होस्ट करने की योजना बनाते हैं तो आप जेप्लेट का उपयोग करेंगे।

जेकंपोनेंट सभी स्विंग कंपोनेंट्स के लिए सार श्रेणी है और आप इसे अपने नए घटक के लिए बेस क्लास के रूप में उपयोग कर सकते हैं। जेपीनेल सरल उपयोग करने योग्य कंपोजेंट है जिसे आप लगभग किसी भी चीज़ के लिए उपयोग कर सकते हैं।

चूंकि यह मजेदार परियोजना के लिए है, इसलिए आपके लिए सबसे आसान तरीका जेपीनल के साथ काम करना है और फिर इसे जेएफआरएएम या जेप्लेट के अंदर होस्ट करना है। नेटबींस के पास सरल उदाहरणों के साथ स्विंग के लिए दृश्य डिजाइनर है।

38

वे कक्षाएं जावा यूआई डिज़ाइन के लिए सामान्य एक्सटेंशन बिंदु हैं। सबसे पहले, एहसास करें कि उन्हें एक दूसरे के साथ सीधे संबंध नहीं करना है, इसलिए उनके बीच संबंध खोजने की कोशिश करना प्रतिकूल हो सकता है।

जेप्लेट - एक बेस क्लास जो आपको कोड लिखने देती है जो ब्राउज़र के संदर्भ में एक इंटरैक्टिव वेब पेज की तरह चलती है। यह अच्छा है और सब कुछ लेकिन यह सीमाएं लाता है जो वास्तविक दुनिया में अच्छा खेल रहा है। आम तौर पर जब आप वेब पेज में अपना यूआई रखना चाहते हैं तो जेप्लेट का उपयोग किया जाता है। मैंने हमेशा सोचा है कि लोग सत्र के लिए राज्य को स्टोर करने के लिए एप्लेट का लाभ क्यों नहीं लेते हैं, इसलिए डेटाबेस या कुकीज़ की आवश्यकता नहीं होती है।

जेकंपोनेंट - ऑब्जेक्ट्स के लिए बेस क्लास जो स्विंग के साथ बातचीत करने का इरादा रखती है।

जेएफआरएएम - एक खिड़की के सामान का प्रतिनिधित्व करने के लिए प्रयुक्त होता है। इसमें सीमाएं (आकार बदलने योग्य वाई/एन?), टाइटलबार (ऐप का नाम या अन्य संदेश), नियंत्रण (न्यूनतम/न्यूनतम अनुमति है?), और 'विंडो क्लोज़' जैसी विभिन्न सिस्टम इवेंट्स के लिए इवेंट हैंडलर (अभी तक बाहर निकलने के लिए अनुमति दें?) शामिल हैं।

जेपीनेल - सामान्य वर्ग अन्य तत्वों को एक साथ इकट्ठा करने के लिए उपयोग किया जाता है। दृश्य लेआउट या प्रदान किए गए लेआउट प्रबंधकों में से एक के साथ काम करने के साथ यह अधिक महत्वपूर्ण है। ग्रिडबैगआउट, इत्यादि। उदाहरण के लिए, आपके पास एक टेक्स्टबॉक्स है जो आपके द्वारा आरक्षित क्षेत्र के बाद बड़ा है। टेक्स्टबॉक्स को स्क्रॉलिंग फलक में रखें और उस फलक को जेपीनल में रखें। फिर जब आप जेपीनल डालते हैं, तो यह लेआउट के मामले में अधिक प्रबंधनीय होगा।