java - 强制 JTextArea 位于 JScrollPane 的底部

标签 java swing jscrollpane jtextarea

我有以下代码:

public class LobbyView extends JPanel
{
    this.setLayout(new MigLayout());
    private final JTextArea chatWindowMessage = new JTextArea();
    private final JScrollPane chatWindow = new JScrollPane(chatWindowMessage);

LobbyView(Window sentWindow)
{
    chatWindow.setViewportView(chatWindowMessage);
    chatWindow.setPreferredSize(new Dimension(300, 300));
    chatWindow.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);

    chatWindowMessage.setLineWrap(true);
    chatWindowMessage.append("test" + "\n");
    chatWindowMessage.append("test 2" + "\n");

    this.add(chatWindow, "pos 180px 75px");
    this.add(chatMessage, "pos 180px 380px");
}
}

代码产生以下 JScrollPane:

JScrollPane

如何强制 JTextArea 位于 JScrollPane 的底部,使其看起来像这样(注意,我使用 MigLayout):

JScrollPane2

最佳答案

一种方法是在开头添加空行,具体取决于 JTextArea 的行数,并使用 setCaretPosition() 方法将插入符位置设置到 TextArea 的末尾。

关于java - 强制 JTextArea 位于 JScrollPane 的底部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22118238/

相关文章:

Javamail 和 TLS? (不是 STARTTLS)

Java 在 Linux 上使用 100% 的 CPU

java - 在java swing中同步滚动N个jtables

java - 我如何在 Java 中创建一个只能接受数字和一个点的字段?

java - 如何将 JSpinner 的文本居中

java - 在 JScrollPane 中调用 setViewportView 后避免自动滚动到底部

java - JScrollPane 的下半部分不出现

java - 如何使用Java的DocumentBuilder获取XML注释

java - 试图证明二分查找的复杂度是O(log(n))

Java Swing : Choosing the correct LayoutManager