2010-10-20 21 views
6

इसलिए मैंने अपनी खुद की टेक्स्ट फलक क्लास (जेटीक्स्टपेन का विस्तार) बनाया है और मैं इसमें टेक्स्ट जोड़ने के लिए नीचे दी गई विधि का उपयोग कर रहा हूं। हालांकि, पाठ को जोड़ने के लिए फलक को संपादन करने की आवश्यकता है, लेकिन यह उपयोगकर्ता को फलक में क्या संपादित करने की अनुमति देता है।किसी JTextPane में पाठ को उपयोगकर्ता द्वारा संपादित किए बिना टेक्स्ट जोड़ना?

क्या कोई मुझे बता सकता है कि उपयोगकर्ता को क्या करने में मदद करने के बिना फलक में टेक्स्ट जोड़ने का तरीका है?

public void appendColor(Color c, String s) { 
    StyleContext sc = StyleContext.getDefaultStyleContext(); 
    AttributeSet aset = sc.addAttribute(SimpleAttributeSet.EMPTY, StyleConstants.Foreground, c); 

    int len = getDocument().getLength(); 

    setCaretPosition(len); 

    setCharacterAttributes(aset, false); 

    replaceSelection(s); 

    setCaretPosition(getDocument().getLength()); 
} 

उत्तर

6

अद्यतन सीधे दस्तावेज़:

StyledDocument doc = textPane.getStyledDocument(); 
doc.insertString("text", doc.getLength(), attributes); 
3
JTextPane pane = new JTextPane(); 
pane.setEditable(false); // prevents the user from editting it. 
// programmatically put this text in the TextPane 
pane.setText("Hello you can't edit this!"); 
+0

मैं समझता हूँ कि, लेकिन मैं कैसे दस्तावेज़ के अंत में टेक्स्ट संलग्न हैं? –

0

ठीक 2 लें:

JTextPane pane = new JTextPane(); 
pane.setEditable(true); 
DefaultStyledDocument document = (DefaultStyledDocument)pane.getDocument(); 
document.insertString("Hello you can't edit this!", document.getEndPosition().getOffset(), null);