gpt4 book ai didi

Java - 如果 setEditable(false) 则无法向下滚动 JTextArea

转载 作者:行者123 更新时间:2023-12-01 13:02:21 24 4
gpt4 key购买 nike

我有一个JTextArea setEditable(false) 内不可编辑 ( JScrollPane )我希望它自动滚动,以便当文本添加到该区域时最后一行可见(使用 append() )。

我已经尝试过移动插入符号、选择所有文本并使用 DefaultCaret,但我无法让它滚动。有办法实现吗?

这是我尝试过的: https://gist.github.com/Greffin28/f38bb9c9ad8281de00e2

最佳答案

始终将 JTextArea 括在 JScrollPanel 中否则,当没有行大于窗口高度时,它将不起作用。

要设置滚动位置,请阅读这篇文章 How to adjust position of scroll in the scrollpane

示例代码:

    JTextArea textArea = new JTextArea();
textArea.setEditable(false);
textArea.setText("abc xyz \n\n\n\n\nabc xyz \n\n\n\n\nabc xyz \n\n\n\n\nabc xyz \n\n\n\n\nabc xyz \n\n\n\n\nabc xyz \n\n\n\n\nabc xyz \n\n\n\n\nabc xyz \n\n\n\n\nabc xyz \n\n\n\n\nabc xyz \n\n\n\n\nabc xyz \n\n\n\n\n");

JScrollPane scrollPane = new JScrollPane(textArea);
// now add scrollPane to your desired panel.

enter image description here

关于Java - 如果 setEditable(false) 则无法向下滚动 JTextArea,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23429373/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com