wrap - JDialog doesn't size correctly with wrapped JTextArea -
एक प्रोग्राम बनाते समय, मैंने जॉप्शनपैन। शोमोस डियालाओग () कॉल के साथ एक बग देखा। मैं एक JTextArea बनाने के लिए एक बटन का उपयोग करता हूं जो लपेटता है और फिर इस पाठ क्षेत्र वाले डायलॉग को प्रदर्शित करता है। अगर पाठ क्षेत्र बहुत बड़ा है, हालांकि, डायलॉग JTextArea की ऊंचाई तक सही ढंग से आकार नहीं करता है इस उदाहरण में डायलॉग ने ठीक बटन बंद कर दिया है।
मैंने बग को निम्न कोड में दोहराया है:
import java.awt। *; Import java.awt.event। *; आयात javax.swing। *; सार्वजनिक वर्ग DialogBug {सार्वजनिक स्थिर शून्य मुख्य (स्ट्रिंग [] args) {अंतिम JFrame फ्रेम = नया JFrame (); frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); अंतिम स्ट्रिंग पाठ = "looooooooooooooooooooooooong पाठ looooooooooooooooooooooooooooooooooooooooong पाठ"; जेबटन बटन = नया जेबटन (); Button.setPreferredSize (नया आयाम (30, 30)); button.addActionListener (नया एक्शनलिस्टनर () {@ ओवरराइड सार्वजनिक शून्य एक्शनपररफेड (एक्शन एवेन्ट ई) {JTextArea क्षेत्र = नया JTextArea (पाठ, 0, 50); क्षेत्र.सेटअक्षम (गलत); क्षेत्र .सेटलाइनवाप (सच); area.setWrapStyleWord ( क्षेत्र .append (text); क्षेत्र.एपेंड (पाठ); क्षेत्र.एपेंड (टेक्स्ट); जॉप्शनपैन। शो मेसेज डायलोग (फ्रेम, क्षेत्र, "यह ऐसा क्यों करता है", जॉप्शनपेन। WARNING_MESSAGE);}}); frame.add (बटन); frame.pack (); frame.setLocationRelativeTo (शून्य); frame.setVisible (सही); }}
मैं एक तस्वीर पोस्ट करूँगा, लेकिन मेरे पास पर्याप्त प्रतिष्ठा नहीं है ...
क्या बिना इसे ठीक करने का एक तरीका है JScrollPane का उपयोग करें?
संपादित करें: यहां एक तस्वीर है:
यदि आप संवाद पर पैक कमांड चलाते हैं (कक्षा में एक फ़ंक्शन) Subcomponents के आधार पर आकार बदलना आपके मामले में आपको काम करने के लिए आकार बदलने के लिए showMessageDialog () का उपयोग किए बिना फिर से लिखना होगा (पहले डायलॉग बनाएं, पाठ जोड़ें, पैक करें, फिर इसे दिखाएं) डायलॉग b = नया डायलॉग (); // सामग्री जोड़ें b.pack (); मेरे परीक्षण कोड के लिए यह सही ढंग से संवाद करने के लिए सही आकार का काम
- बिना
पैक ()
- के साथ
पैक ()
Comments
Post a Comment