2011-04-14 16 views
5

आपने उन फ़्लैश आधारित फ्लिप पुस्तकें देखी हैं। मैं जावा में इसे बनाना चाहता हूं। मैं पुस्तक के पत्ते के लिए JTextArea का उपयोग कर रहा हूँ। मैं क्या जानना चाहता हूं कि मैं पेज फ्लिप प्रभाव को लागू करने के बारे में कैसे जा सकता हूं, माउस/कीलिस्टनर के साथ संयुक्त घटक पेंट विधि को ओवरराइड करके?जावा/स्विंग में फ्लिप बुक

उत्तर

8

आपको मौजूदा पृष्ठ को ऑफ़-स्क्रीन बफर में प्रस्तुत करना होगा, फिर बफर को पृष्ठ फ़्लिप प्रस्तुत करने के लिए परिवर्तित करना होगा।

तो,

  • स्क्रीन के आकार की एक ऑफ स्क्रीन छवि बफर पैदा करते हैं।
  • बफर के ग्राफिक्स संदर्भ प्राप्त करें और इस संदर्भ
  • अब आप अपने पेज, अपने बंद स्क्रीन बफर
  • अपने परदे पर संदर्भ के साथ
  • में गाया गया है 'फ्लैट'
      साथ super.componentPaint फोन
    • स्पष्ट क्षेत्र,
    • फ्लिप
    • दिखाने के लिए शीर्ष करने के लिए 'छाया' पेज तो यह 3 डी
  • लग रहा है पर एक अल्फा ढाल आकर्षित बढ़ाया गुप्त पेज नकल 210

एनीमेशन नाटकों के दौरान आपको बार-बार फिर से आकर्षित करने के लिए इसे थ्रेड में ड्राइव करने की आवश्यकता होगी। तो 'pageIsTurning' ध्वज सेट करें, और 'percentageTurned' जो पेंट विधि को इंगित करेगा कि इसे विशेष ड्राइंग करने की आवश्यकता है और यह एनीमेशन में कहां है। प्रतिशत टर्न किए गए ध्वज को अपडेट करें क्योंकि आप बार-बार पेंट विधि को कॉल करते हैं, फिर चीजें पूरी होने के बाद, ध्वज को रीसेट करें और घटक पेंट विधि को super.componentPaint पर डिफ़ॉल्ट रूप से अनुमति दें।

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