0
我目前正在为聊天室制作GUI。我已经做到了,用户可以输入文本,并可以选择以JTextPane结尾的图像。用户按下输入后,我想在另一个JTextPane中显示它。有没有简单的方法来同时将文本和图标从一个JTextPane移动到另一个JTextPane?我一次只设法移动其中一个。将文本和图标从一个JTextPane移动到另一个JTextPane
我目前正在为聊天室制作GUI。我已经做到了,用户可以输入文本,并可以选择以JTextPane结尾的图像。用户按下输入后,我想在另一个JTextPane中显示它。有没有简单的方法来同时将文本和图标从一个JTextPane移动到另一个JTextPane?我一次只设法移动其中一个。将文本和图标从一个JTextPane移动到另一个JTextPane
您可以使用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);
}
}
你的问题我不清楚。我不明白“移动”文本或图标意味着什么。什么阻止你简单地将相同的内容添加到另一个JTextPane中? – VGR
我在JTextPane上有一个用户写文本或添加图像的keylistener。当用户按Enter键时,我希望该JTextPane的内容移动到另一个JTextPane。我不确定如何从JTextPane获取所有内容到另一个JTextPane,而不仅仅是文本或图标本身。 – Bengan