java - 如何释放JScrollpane使其不总是拖到底部?

标签 java swing jscrollpane

我在我的项目中添加了以下代码段,以强制 JScrollPane 在用户执行选择操作后自动下降到底部,但是,当我尝试将滚动条拖动到顶部时,它仍然被强制执行向下滚动到底部,我想问任何解决方案来解决它?提前致谢。

private void autoScrollToBottom() {
    sdPanel.getTabScrollPane().getVerticalScrollBar().addAdjustmentListener(new AdjustmentListener() {

        @Override
        public void adjustmentValueChanged(AdjustmentEvent e) {
            e.getAdjustable().setValue(e.getAdjustable().getMaximum());
        }
    });
}

最佳答案

尝试使用一些 boolean 标志来指示您是否应该移动滚动条。当您执行正确的操作然后在您的代码中将其设置为 true:

@Override
  public void adjustmentValueChanged(AdjustmentEvent e) {
  if(isScrollingDownRequired) {
    e.getAdjustable().setValue(e.getAdjustable().getMaximum());
    isScrollingDownRequired = false;
  }
}

关于java - 如何释放JScrollpane使其不总是拖到底部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10716181/

相关文章:

java - 如何在netbeans的GUI中显示文件内容?

java - 无法显示 JList

java - 如何使用 ByteBuddy @Pipe 注解和 @FieldValue 来实现委托(delegate)模式?

java - 如何停止java中信号量中的特定thead?

java - Addactionlistener 不带参数

java - 什么时候调用 preferredLayoutSize ?

java - 动态调整 JScrollPane 的大小?

java - JPanel 在变小时扩展到 JScrollPane 大小?

java - Java 8 及更高版本中的抽象类和接口(interface)有什么区别?

java - 递归输出歧义