2017-03-09 36 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); 
    } 
} 
相關問題