2017-03-09 46 views
0

我目前正在为聊天室制作GUI。我已经做到了,用户可以输入文本,并可以选择以JTextPane结尾的图像。用户按下输入后,我想在另一个JTextPane中显示它。有没有简单的方法来同时将文本和图标从一个JTextPane移动到另一个JTextPane?我一次只设法移动其中一个。将文本和图标从一个JTextPane移动到另一个JTextPane

+0

你的问题我不清楚。我不明白“移动”文本或图标意味着什么。什么阻止你简单地将相同的内容添加到另一个JTextPane中? – VGR

+0

我在JTextPane上有一个用户写文本或添加图像的keylistener。当用户按Enter键时,我希望该JTextPane的内容移动到另一个JTextPane。我不确定如何从JTextPane获取所有内容到另一个JTextPane,而不仅仅是文本或图标本身。 – Bengan

回答

0

您可以使用ElementIterator由元件上形成的JTextPane的StyledDocument中的元素进行复制,所有的造型,包括图标:

static void copy(Document source, 
       Document dest) { 
    try { 
     dest.remove(0, dest.getLength()); 

     ElementIterator iterator = new ElementIterator(source); 
     Element element; 
     while ((element = iterator.next()) != null) { 
      if (element.isLeaf()) { 
       int start = element.getStartOffset(); 
       int end = element.getEndOffset(); 
       String text = source.getText(start, end - start); 
       dest.insertString(dest.getLength(), text, 
        element.getAttributes()); 
      } 
     } 
    } catch (BadLocationException e) { 
     throw new RuntimeException(e); 
    } 
} 
相关问题