2009-05-05 22 views
33

मैं हमेशा मौजूदा जावा में कस्टम घटक बनाने के लिए, या अनुकूलित करने के लिए चाहता था बनाने के लिए कैसे, लेकिन अपनी खोजों उपयोगी कुछ भी करने के परिणामस्वरूप कभी नहीं। तो मैंने स्टैक ओवरफ्लो समुदाय से पूछने का फैसला किया:एक कस्टम घुमाओ घटक

सामान्य रूप से जावा जीयूआई घटक को अनुकूलित करने के बारे में मुझे जानकारी कहां मिल सकती है?

और जब मैं अनुरूपण मतलब है, मैं बदलते रंगों के बारे में बात नहीं कर रहा हूँ, फोंट आदि मेरा मतलब है वास्तव में उन्हें अनुकूलित।

Custom Components Mockup

नोट्स
मैं मुख्य रूप से ऊपर दो कस्टम घटक बनाने का तरीका खोजने के लिए इस सवाल शुरू कर दिया: यहाँ दो mockup उदाहरण घटक हैं। लेकिन फिर मुझे एहसास हुआ कि हैकिंग स्विंग घटकों के बारे में कोई सामान्य सवाल नहीं है। तो मैंने सोचा कि संसाधनों की एक सूची होना बेहतर होगा।

मामले में आप सोच रहे हैं कि कैसे mockup काम में दो घटकों करते हैं, यहाँ यह है:

एक अनुकूलित jScrollPane प्रत्येक उन्मुखीकरण के लिए दो स्क्रॉलबार है। प्रत्येक स्क्रॉलबार अलग-अलग कार्य कर सकता है। उदाहरण के लिए, बाहरी लोग सामान्य रूप से स्क्रॉल करते हैं और आंतरिक लोग दृश्य को Picasa-जैसा तरीके से ले जाते हैं। मुझे वास्तव में Google समूह here से एक काम (!) जवाब मिला, लेकिन यह सिर्फ कोड था।

दूसरा एक एक कस्टम JComboBox, जो जब पॉपअप सूची का विस्तार किया है, अंत में एक JComponent है। यह किसी भी जेबेल से एक आइकन के साथ, एक जेबटन से कुछ भी हो सकता है जो सूची को एक तरीके से जोड़ता है।

लेकिन इस सवाल उन विशिष्ट घटकों के बारे में नहीं है। यह संसाधनों (वेबसाइटों, पुस्तकों, लेख इत्यादि) को खोजने के लिए बनाने के बारे में जानने के लिए है।

+10

मैं सिर्फ देखा है कि sceenshot कहते हैं, "jbomponent" ...: पी – pek

उत्तर

17

यह आलेख, How To Write a Custom Swing Component वास्तव में सहायक होना चाहिए। इसमें एक विंडोज स्लाइडर नियंत्रण की नकल शामिल है जिसमें दोनों अलग-अलग कदम और निरंतर सीमा है।

+2

यह लिंक पुराना है। हालांकि वास्तविक पृष्ठ अभी भी मौजूद है, आप पाएंगे कि पृष्ठ के भीतर छवियां और लिंक सभी गायब हैं। क्या किसी के पास एक अद्यतन लिंक है? इसके अलावा, आम तौर पर, पर तो हम जवाब में लिंक से प्रासंगिक सामग्री इसी जहां लिंक पुराना हो चुका हो जाता तरह के मामलों के लिए डाल दिया। – Jason

4

यह एक सुंदर खुला प्रश्न है, संक्षिप्त सरल उत्तर यह है कि आप JComponent या इसके वंशजों में से एक को उपclass और अपनी आवश्यक कार्यक्षमता जोड़ें। जाहिर है, आप जो करना चाहते हैं उसके आधार पर कठिनाई में भिन्नता हो सकती है। स्टार्टर्स के लिए मैं आपको सूर्य की tutorial on using Swing components पढ़ने की सलाह देता हूं जहां scroll panes और का उपयोग करने के उदाहरण हैं। एक बार जब आप उन लोगों के माध्यम से पढ़ लें और प्रयोग करें तो आपके पास अधिक विशिष्ट प्रश्न हो सकते हैं जो लोगों के लिए उत्तर देने के लिए आसान होंगे।

अपने नकली अप में दो घटक तुम सब फिर हमें आप उन्हें कैसे कार्य करने के लिए चाहते हैं के सही उत्तर निकलेगा से कुछ बेहतर विचार देकर लागू करने के लिए इच्छुक रहे हैं।

+0

मैं, जावा ट्यूटोरियल पढ़ा है (और हमेशा करते हैं जब यह स्विंग करने के लिए आता है), लेकिन मुझे जितना गहराई से जाना उतना गहरा नहीं है। – pek

+0

क्या आप यह समझाने में अधिक विशिष्ट हो सकते हैं कि आपको इसकी आवश्यकता क्या है? क्या आप विशेष रूप से जानना चाहते हैं कि आपने उस कार्यक्षमता को कैसे प्राप्त किया है जिसे आपने प्रश्न में मजाक किया है या क्या सवाल अधिक सामान्य होने का इरादा है? – ninesided

15

JDK खुला स्रोत है। यह समझने के लिए कि आप स्विंग घटक कैसे लिखते हैं, स्विंग घटकों के स्रोत से देखने के लिए कोई बेहतर जगह नहीं है।{बातचीत अर्थ विज्ञान, दृश्य प्रतिनिधित्व, compositional संरचना}

सरलतम मामलों के साथ प्रारंभ::

निष्क्रिय घटकों: JLabel
आम तौर पर जब आप कस्टम घटक बनाते हैं, आप एक या निम्न में अधिक में रुचि रखते हैं इंटरैक्टिव घटक: JButton

JLabel किसी घटक की कस्टम ड्राइंग के लिए JComponent के बेयरबोन एक्सटेंशन का प्रदर्शन करेगा; इस मामले में, यह 'पाठ' स्ट्रिंग मान को इसके प्रतिनिधित्व के रूप में चित्रित कर रहा है।

JButton घटक को चित्रित करने के अलावा उपयोगकर्ता इंटरैक्शन के लिए बेयरबोन एक्सटेंशन का प्रदर्शन करेगा।

+5

स्विंग कोड पढ़ने के दौरान कुछ चेतावनियों को ध्यान में रखना: पीछे की संगतता के लिए वहां बहुत सारे कोड हैं; अधिकांश वास्तविक ग्राफिक्स कोड यूआई कक्षाओं में है; स्विंग वर्गों ने "विकसित" किया है और यह आवश्यक रूप से सर्वोत्तम प्रथाओं का प्रतिनिधि नहीं है। –

+0

घटक कोड –

9

Filthy Rich Clients इस विषय पर एक उत्कृष्ट, बहुत पठनीय पुस्तक है। यह पूरी तरह से नए बनाने की तुलना में स्विंग घटकों के स्वरूप और अनुभव को बेहतर बनाने के बारे में अधिक है, लेकिन यह स्विंग के झटके में आता है और बहुत सारे व्यावहारिक उदाहरण प्रदान करता है।

+0

के लिए वेब पता हाँ, मैंने इस पुस्तक को पढ़ा है। बहुत अच्छी किताब लेकिन, जैसा कि आपने कहा था, यह ज्यादातर दिखने और महसूस करने में सुधार के बारे में है। – pek

1

व्यक्तिगत रूप से मुझे उपर्युक्त उत्तर बहुत सामान्य या अस्पष्ट लगता है। इसके अलावा, के रूप में किसी को अनिवार्य रूप से इस सूत्र मैंने किया था बस के रूप में टक्कर जा रहा है, मैं भी प्रदान कर सकते हैं कि मैं क्या पाया:

आशा इस मदद करता है ...

संबंधित मुद्दे