2017-03-09 3 views
0

私は現在チャットルーム用のGUIを作っています。ユーザーがテキストを入力して、JTextPaneで終わるイメージを選択できるようにしました。ユーザがenterを押した後、私は別のJTextPaneにそれを表示したいと思う。テキストとアイコンの両方を同時に1つのJTextPaneから別のJTextPaneに移動する簡単な方法はありますか?私は一度にそれらの1つを動かすことしかできませんでした。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); 
    } 
} 
関連する問題