सभी उदाहरण है कि मुझे लगता है कि एक JTextArea
का उपयोग पा सकते हैं में, ऊंचाई & चौड़ाई JTextArea
निर्माण करने से पहले जाना जाता है, और अगर JTextArea
अधिक ऊंचाई की आवश्यकता होगी, तो यह एक JScrollPane
के अंदर डाल दिया है। जाहिर है, JTextArea
की ऊंचाई चौड़ाई और पाठ सामग्री पर निर्भर है।मैं एक निर्दिष्ट चौड़ाई के साथ एक JTextArea कैसे बना सकता हूं और सभी पाठ प्रदर्शित करने के लिए आवश्यक न्यूनतम संभव ऊंचाई?
अब, मेरी स्थिति की आवश्यकता है कि मैं JScrollPane
का उपयोग न करें, लेकिन इसके बजाय JTextArea
सभी टेक्स्ट प्रदर्शित करने के लिए पर्याप्त लंबा हो। जब मैं JTextArea
बनाता हूं, तो मुझे टेक्स्ट सामग्री पता है और इसे कितनी चौड़ाई के साथ काम करना होगा; मुझे ऊंचाई नहीं पता - मैं चाहता हूं कि किसी भी पाठ को काट दिए बिना जितना संभव हो उतना छोटा हो। यह पूरा करना बहुत मुश्किल लगता है।
एक साइड नोट के रूप में, JTextArea
को JPanel
में जोड़ा जाएगा जिसमें लेआउट मैनेजर नहीं है - यह अतिरिक्त घटक के पसंदीदा आकार के आधार पर पूर्ण स्थिति का उपयोग करता है। इसके लिए यह आवश्यक है कि मेरा JTextArea
getPreferredSize()
पर सही आयाम वापस करेगा। सही आयाम चौड़ाई होना चाहिए जो मैंने इसे बनाया था, और न्यूनतम ऊंचाई जो प्रदान की गई चौड़ाई के साथ सभी पाठ प्रदर्शित करने के लिए आवश्यक है।
मुझे कुछ समान धागे मिले हैं जो JTextArea
से जुड़े विषमता/बग पर चर्चा करते हैं जिन्हें कभी-कभी माता-पिता कंटेनर पर pack()
पर कॉल करके हल किया जाता है। यह मेरे लिए एक विकल्प नहीं है। मैं मूल रूप से अपना खुद का JTextArea
बनाने का लुत्फ उठाता हूं जो चौड़ाई और स्ट्रिंग लेता है और चौड़ाई और फ़ॉन्ट सेटिंग्स के आधार पर आवश्यक न्यूनतम ऊंचाई की गणना करता है, लेकिन मुझे लगा कि मैं ऐसा करने के लिए समय बिताने से पहले पूछूंगा।
उम्मीद है कि मेरा प्रश्न स्पष्ट है। आपकी मदद के लिए आप सभी को शुक्रिया!
क्या JLextArea के बजाय जेएलएबल क्या करेगा? –
@ एंड्रयू थॉम्पसन निश्चित रूप से, मैं 'जेलाबेल' का उपयोग कर सकता हूं, लेकिन फिर भी मुझे स्ट्रिंग में मैन्युअल रूप से न्यूलाइन डालना होगा, जिसके लिए मुझे गणना करने की आवश्यकता होगी कि उन्हें चौड़ाई और फ़ॉन्ट सेटिंग्स के आधार पर कहां होना चाहिए, और फिर मैं पात्रों की बजाय पूरे शब्दों पर लपेटने के लिए कुछ विशेष हैंडलिंग जोड़ना होगा। ये 'JTextArea' द्वारा प्रदान की जाने वाली चीजें हैं, इसलिए यदि मैं कर सकता हूं तो मैं इसका उपयोग करना पसंद करूंगा। –
नीचे उदाहरण देखें। मैं ऐसी चीजों को प्राप्त करने के लिए एक छोटी 'एचटीएमएल चाल' का उपयोग करना पसंद करता हूं। ;) –