java - JScrollPane - 自动滚动到底部?

标签 java swing jscrollpane jlist

我一直在尝试创建一个滚动 Pane ,当用户向窗口添加更多文本行时,它会自动保持向下滚动。我实现了这个:

pane.getVerticalScrollBar().addAdjustmentListener(new AdjustmentListener() {
    public void adjustmentValueChanged(AdjustmentEvent e) {
        e.getAdjustable().setValue(e.getAdjustable().getMaximum());  
    }
});

“pane”是一个包含 JList 的 JScrollPane。

不幸的是,上面的代码将滚动条固定在 Pane 的底部(这正是我想要的),但我无法将滚动条从它的位置移开(所以现在它固定在底部)。有没有一种简单的方法可以让滚动条固定在底部,但仍然可以滚动到其他地方?

谢谢!

最佳答案

当您向 JList 添加一个项目时,您可以使用以下方法:

list.ensureIndexIsVisible(...)

其中索引是列表中最后一项的索引。

关于java - JScrollPane - 自动滚动到底部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8467550/

相关文章:

java - 如何仅对匹配我的正则表达式模式的字符串部分进行替换?

java - 在运行时加载 JAR 文件类时出错

java - Java/Swing 中表单的声明式验证

java - 如何知道 JScrollBar 是否已经到达 JScrollPane 的底部?

java - 需要用java解析sql的帮助

Java - 正则表达式在某些单词之前和之前的字符上分割

java - "Build Automatically"Swing 函数

java - 基于JRadioButton动态更改JPanel

java - JScrollPane 内使用 <html> 标签自动换行 JLabel - 删除水平栏功能/逻辑

java - 在 java Swing 中使用特定 JButtons 在容器上垂直滚动