2011-08-11 10 views
5

मैंने स्टैक ओवरफ्लो और Google की विस्तृत खोज की है, लेकिन मैं अब तक ऐसी ही समस्याएं ढूंढने में असमर्थ हूं।जावा स्विंग - JTextField/JTextArea पूरक यूनिकोड वर्णों को पेस्ट करने में असमर्थ

नमूना जावा स्विंग परीक्षण कार्यक्रम में, मैं एक सादा JTextField बना देता हूं ताकि मैं इसे वेबपृष्ठ (http://isthisthingon.org/unicode/) से वर्णों को पेस्ट करने का प्रयास कर सकूं। जब मैं '㓿' (कोड पॉइंट 13567) के साथ परीक्षण करता हूं तो यह चरित्र को पेस्ट करने में सक्षम होता है। यह चरित्र सीजेके आइडियोग्राफ एक्सटेंशन ए प्लेन में अंतिम सूचीबद्ध चरित्र है। हालांकि, जब मैं अगले संबंधित विमान में जाता हूं, सीजेके आइडियोग्राफ एक्सटेंशन बी, चरित्र '(कोड पॉइंट 131072) की प्रतिलिपि बनाने और पेस्ट करने की कोशिश करता है। यह एक बॉक्स या किसी भी तरह का ग्लिफ प्रस्तुत नहीं करता है, ऐसा लगता है जैसे मेरे पास सिस्टम क्लिपबोर्ड में कुछ भी नहीं था।

मुझे एहसास है कि सीजेके आइडियोग्राफ एक्सटेंशन बी उन पात्रों का एक सेट है जिन्हें "पूरक" माना जाता है और जब जावा उन्हें आंतरिक रूप से यूटीएफ -16 के रूप में एन्कोड करता है तो उसके बजाय दो 16 बिट ब्लॉक की आवश्यकता होती है। आगे का परीक्षण साबित करता है कि यदि मैं एक प्रदर्शन क्षेत्र में पाठ को हार्ड-कोड करता हूं तो मैं पूरक वर्ण प्रदर्शित करने में सक्षम हूं।

यह विंडोज 7 और जावा 6.

मैं समझता हूँ कि जावा 5 के रूप में, पूरक यूनिकोड वर्ण के लिए समर्थन जोड़ा गया है का उपयोग कर परीक्षण किया गया था, हालांकि, मैं क्यों (या अगर) सोच रहा हूँ कट और पेस्ट कार्यक्षमता स्विंग में अभी भी मुझे इन पात्रों को पेस्ट करने की अनुमति नहीं है। JTextField या JTextArea कक्षाओं का उपयोग करते समय जावा को इन वर्णों को संभालने के लिए मुझे कुछ अतिरिक्त करने की आवश्यकता है? जावा के स्विंग पुस्तकालयों के लिए अभी तक एक पाठ फ़ील्ड में इन वर्णों को पेस्ट करने में सक्षम होने का कोई तरीका है?

आपके समय के लिए धन्यवाद!

+1

मैंने इसे जल्द से जल्द पोस्ट नहीं किया, जैसा कि मुझे मेरा जवाब मिल गया है। यह जेडीके में एक लंबी स्थायी बग रहा है - http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6877495। – Locriansax

+0

यूनिकोड के अपने जीवनकाल के लिए 16-बिट पूर्णांक में फ़िट होने से अधिक वर्ण हैं! मुझे विश्वास नहीं है कि जावा अभी भी इसके साथ खराब हो गया है। लेकिन कल मैंने जावा स्ट्रिंग क्लास में एक और यूसीएस -2 बग पाया, जो कि हमेशा के लिए रहा है। यह मज़ाकीय है। पूरी यूटीएफ -16 चीज एक भयानक अभिशाप है, और जावा कभी भी अनगिनत बग से मुक्त नहीं होगा। वे बस हर जगह हैं और यह गड़बड़ है। लोग सिर्फ चीजें सही नहीं कर सकते हैं। – tchrist

+0

धन्यवाद एलेक्सी! बस एक जवाब बनाया। :) – Locriansax

उत्तर

2

मैंने इसे जल्द से जल्द पोस्ट नहीं किया, जैसा कि मुझे मेरा जवाब मिल गया है। यह long standing bug in the JDK रहा है।