2017-03-09 1 views
0

현재 대화방 용 GUI를 만들고 있습니다. 사용자가 텍스트를 입력하고 JTextPane에서 끝나는 이미지를 선택할 수 있도록했습니다. 사용자가 enter를 누르면 다른 JTextPane에 표시하려고합니다. 텍스트와 아이콘을 한 JTextPane에서 다른 JTextPane으로 동시에 쉽게 이동할 수 있습니까? 나는 그럭저럭 한 번에 그들 중의 1 명을 움직일 수 있었다.하나의 JTextPane에서 다른 JTextPane으로 텍스트 및 아이콘 이동하기

+0

귀하의 질문은 나에게 불분명하다. 나는 텍스트 나 아이콘을 "옮기는"것이 무엇을 의미하는지 이해하지 못합니다. 동일한 내용을 다른 JTextPane에 단순히 추가하지 못하게하는 요인은 무엇입니까? – VGR

+0

사용자가 텍스트를 쓰거나 이미지를 추가하는 JTextPane에 키 릴스터가 있습니다. 사용자가 enter를 누르면 해당 JTextPane의 내용을 다른 JTextPane으로 옮기고 싶습니다. 나는 JTextPane의 모든 내용을 텍스트 나 아이콘뿐만 아니라 다른 JTextPane으로 가져 오는 방법을 잘 모릅니다. – Bengan

답변

0

당신은 아이콘을 포함한 모든 스타일과 요소에 의해 JTextPane가의 인 StyledDocument 요소를 복사 할 ElementIterator를 사용할 수 있습니다

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); 
    } 
} 
관련 문제