Java Swing:在文本区域中动态附加文本的方法,具有滚动条更新

Ber*_*own 5 java swing

使用Java swing来更新textarea的一般方法是什么,用文本行(比如从一个Thread)更新,然后在添加文本时将文本插入符号流到textarea的底部.还要更新滚动条,使其位于底部.

我原以为我会有一个字符串缓冲区并将文本附加到该字符串然后在textarea中设置字符串并将滚动条放在底部.

Mic*_*ers 13

使用append()添加的文字,然后setCaretPosition()确保你用它滚动.

myTextPane.append(textFromSomewhere);
myTextPane.setCaretPosition(myTextPane.getDocument().getLength());
Run Code Online (Sandbox Code Playgroud)


kdg*_*ory 7

append()方法不能做你想要的吗?

虽然您没有问:当您在后台线程中生成某些内容时,请务必使用SwingUtilities.invokeLater()来更新您的组件.