जावा AWT (सार विंडोइंग टूलकिट) और बाद में स्विंग शुरू की के साथ शुरू कर दिया।
AWT मंच घटना पाश से निपटने में में झुका हुआ है, और घटनाओं खुद जावा वर्गों में पैक किया जाता है और एक सिंगल (गैर समानांतर) कतार/धागा ईवेंट प्रबंधन, उन्हें संभालती है एक के बाद एक। स्विंग इसे विरासत में मिला है।
AWT हर जीयूआई घटक, रेडियो बटन या मेनू आइटम की तरह, एक मूल कोड "सहकर्मी" नियंत्रण, मंच प्रदान की घटक है। जावा वर्गों और उनके सी समकक्ष का एक समानांतर सेट है। जावा ग्राफिक्स क्लास विशेष रूप से दिलचस्प है जो लाइनों, आयताकारों और इस तरह के कस्टम ड्राइंग की अनुमति देता है। यह एक सीडीसी (डिवाइस संदर्भ) के साथ विंडोज के तहत peered है - संभवतः।
स्विंग अधिकांश प्लेटफ़ॉर्म घटकों को अनुकरण किया जाता है, यानी स्वयं को फिर से बनाया जाता है: ड्राइंग, माउस हैंडलिंग आदि। तो मूल भाग सरल है, कस्टम ड्राइंग के साथ शायद एक सीडब्ल्यूएनडी (विंडो घटक) कहें।
स्विंग एक और अधिक सुसंगत और अधिक सुविधा समृद्ध कार्यक्षमता प्राप्त कर सकता है। आप कल्पना कर सकते हैं कि एक एडब्ल्यूटी रेडियो बटन पर बैकग्राउड रंग सेट करना संभव नहीं है, या किसी लेबल या टूल टिप पर HTML का उपयोग करना संभव नहीं है। स्विंग भी स्किनिंग, थीम, लुक एंडफेल कर सकते हैं। सिस्टम प्लेटफ़ॉर्म घटकों की नज़दीकी अनुकरण देखने और महसूस करने के लिए। विशेष रूप से स्विंग घटक अधिक हल्के वजन, क्योंकि प्रत्येक घटक में सी में संभालने के लिए देशी सहकर्मी नियंत्रण नहीं होता है।
अब एसडब्ल्यूटी एबीएम पुनः लोड के लिए ग्रहण में आईबीएम की एक बाद की पहल थी। स्विंग के रूप में अनुकूलन के रूप में नहीं बल्कि इसके पास मंच बनने का इरादा है।
आपको एडब्ल्यूटी घटकों का उपयोग करना भूल जाना चाहिए, और यदि ग्रहण आरसीपी भी एसडब्ल्यूटी के लिए प्रोग्रामिंग नहीं करना चाहिए।
तो: माउस क्लिक की तरह वैश्विक मंच घटनाओं, अनुरोध फिर से रंगना जावा घटनाओं के लिए अनुवाद कर रहे हैं। जेएफआरएएम, जेपीनल, जेएसक्रॉलपेन्स, जेकंपोनेंट्स का एक कंटेनर पदानुक्रम है। एक घटना से निपटने के घटक है, जो पर उदाहरण के लिए paintComponent कहा जाता है के लिए भेजा जाता है:
@Override
public void paintComponent(Graphics g) {
Graphics2D g2 = (Graphics2D) g; // A later introduced class that can do more.
g2.draw...
}
साथ JavaFX वहाँ एक नया खिलाड़ी, जो IMHO अभी तक नहीं पूरी तरह से परिपक्व है, लेकिन गैर-उत्पादन कोड में प्रयोग करने योग्य है आता है। यह प्रभाव/एनिमेशन, घूर्णन, परिवर्तन, प्रकाश सक्षम बनाता है। तो प्लेटफॉर्म प्रतिपादन के आधार पर 2 डी -4 डी प्रतिपादन। इसके अलावा यह संपत्ति आधारित है, इसलिए एक चेक बॉक्स जूलियन के लिए जरूरी नहीं होगा, लेकिन एक बुलियन संपत्ति परिवर्तनों को देख और अधिसूचित कर रही है। मुझे इसके साथ एक इष्टतम वास्तुकला को समझने के लिए अभी भी कुछ व्यावहारिक अनुभव की आवश्यकता है।
यह संभवतः खतरनाक तरीके से "के बारे में तो बहुत व्यापक एक किताब लिखने सका" के करीब है, लेकिन मैं जवाब जानने के ध्यान दिए बिना –
मैं यह उनके – Sam
प्रदर्शित करने के लिए अंतर्निहित ऑपरेटिंग सिस्टम का उपयोग करता है लगता है मोहित हो जाएगा और तुम हैरान नहीं कर रहे हैं उदाहरण के लिए सभी नेटवर्किंग कक्षाओं के बारे में? यह वही बात है। वीएम मंच पर जो भी देशी एपीआई उपलब्ध है का उपयोग करता है। – Mat