जावा के सभी संस्करणों में 6 तक, JSTrollPane के अंदर रखे गए JTextPane का डिफ़ॉल्ट व्यवहार था: यदि संभव हो तो शब्द सीमाओं पर रेखाएं लपेटें। यदि नहीं, तो फिर भी उन्हें लपेटें।JTextPane (जावा 7) में लंबे शब्द लपेटें
जेडीके 7 में, डिफ़ॉल्ट व्यवहार ऐसा प्रतीत होता है: यदि संभव हो तो शब्द सीमाओं पर रेखाएं लपेटें। यदि नहीं, तो बस JTextPane की चौड़ाई का विस्तार करें (लंबे शब्दों को कभी भी लपेटें नहीं)।
यह यहाँ यह पुन: पेश करने के लिए आसान है, एक SSCCE है:
public class WrappingTest extends JFrame
{
public static void main (String[] args)
{
new WrappingTest();
}
public WrappingTest()
{
setSize(200,200);
getContentPane().setLayout(new BorderLayout());
JTextPane jtp = new JTextPane();
JScrollPane jsp = new JScrollPane(jtp);
jsp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
getContentPane().add(jsp,BorderLayout.CENTER);
setVisible(true);
}
}
बस, JDK 6 में और JDK 7 में इसे चलाने के कुछ छोटे शब्द लिखते हैं, और एक लंबे शब्द लिखते हैं, और आप देखेंगे अंतर।
मेरा प्रश्न सरल है ... जेडीके 7 में नया डिफ़ॉल्ट व्यवहार पूरी तरह से मेरे कार्यक्रम को गड़बड़ कर देता है (उन्हें ओरेकल में इस प्रकार के डिफ़ॉल्ट को बदलने के साथ और अधिक सावधान रहना चाहिए ... वे महत्वहीन प्रतीत होते हैं लेकिन जब आप उपयोग कर रहे हैं एक जेटीक्स्टपेन जिसमें डेटा प्रदर्शित करने के लिए आमतौर पर अक्षरों के बहुत लंबे तार होते हैं, वे इतने महत्वहीन नहीं होते हैं - असल में मैं एक बग रिपोर्ट दर्ज करने जा रहा हूं, लेकिन अगर मैं हल नहीं करता हूं तो मैं एक कामकाज करना चाहता हूं यह)। पिछले व्यवहार पर वापस जाने का कोई तरीका?
ध्यान दें कि मैंने संबंधित प्रश्न How is word-wrapping implemented in JTextPane, and how do I make it wrap a string without spaces? के उत्तर की जांच की है लेकिन यह इस प्रश्न का उत्तर नहीं देती है - यह बिना किसी सम्मान के JTextPane लपेटने का एक तरीका प्रदान करता है, लेकिन मेरे लिए वांछित व्यवहार विभाजित है यदि संभव हो तो व्हाइटस्पेस पर लाइनें, और यदि संभव नहीं है तो (कहीं भी पिछले जावा संस्करणों में)।
का उपयोग कर करता है [ 'invokeLater()'] (http://download.oracle.com/javase/tutorial/uiswing/concurrency/ प्रारंभिक.html) मदद? –
नहीं ... एक ही प्रभाव। –
मुझे बिल्कुल वही समस्या है। संबंधित: https://forums.oracle.com/forums/thread.jspa?threadID=2374090 (कोई जवाब नहीं ...) पोस्टर ने पहले से ही एक बग रिपोर्ट बनाई है, लेकिन इसे "बग नहीं" के रूप में बंद कर दिया गया था, बिना स्पष्टीकरण का शब्द ... – PhiLho