我正在为聊天室制作GUI。我已经做到这一点,所以用户输入文本,并可以选择最终在JTextPane中的图像。在用户按下回车后,我想在另一个JTextPane中显示它。有没有一种简单的方法可以同时将文本和图标从一个JTextPane移动到另一个JTextPane?我一次只设法移动其中一个。
答案 0 :(得分: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);
}
}