0

介绍

  1. 我正在尝试设置 JScrollPane 的垂直滚动位置
  2. 滚动窗格没有垂直滚动条,但我想滚动视图。
  3. 我能够使用 getVerticalScrollBar.setValue(x) 在 AdjustmentListener 中成功地做到这一点。
  4. 但是,我想通过常规方法而不是事件侦听器来执行此操作。
  5. 当我以单独的方法编写此代码时,它只是不滚动它。

尝试了一种替代方案

  1. 我尝试使用 invokeLater() 选项(将 setValue(x) 方法放在 invokeLater() 中),但它对我不起作用。
  2. 我不知道为什么它不起作用,这就是为什么我没有费心发布代码(太长)。

尝试了另一种选择

  1. 我创建了一个自定义 AdjustmentEvent 并尝试以编程方式触发它。
  2. 我使用了方法 scrollbar.processEvent(e)。
  3. 但是,我收到一条错误消息,说明“来自类型 Container 的方法 processEvent(AWTEvent) 不可见”。

我的两个问题

  1. 我可以做些什么来实现以编程方式而不是在事件侦听器中移动滚动条的目标。

  2. 我的第二个问题是,为什么 setValue() 方法不做它应该做的事情。我的意思是,我不知道我们使用的是什么版本的 Java,但是这个问题没有得到修复是不是有点荒谬?setValue() 方法在事件侦听器之外似乎毫无意义。

4

1 回答 1

0

尝试获取ViewPort然后移动viewPosition

于 2013-04-16T22:21:23.173 回答