0

前書き

  1. JScrollPane の垂直スクロール位置を設定しようとしています
  2. スクロールペインには垂直スクロールバーがありませんが、ビューをスクロールしたいです。
  3. getVerticalScrollBar.setValue(x) を使用して、AdjustmentListener 内でこれを正常に実行できます。
  4. ただし、イベントリスナーではなく、通常のメソッドからこれを行いたいです。
  5. このコードを別のメソッドで記述すると、スクロールしません。

1つの代替案を試しました

  1. invokeLater() オプション (setValue(x) メソッドを invokeLater() 内に配置) を使用してみましたが、うまくいきません。
  2. なぜ機能しないのかわかりません。そのため、わざわざコードを投稿しませんでした (長すぎます)。

別の代替手段を試した

  1. カスタム AdjustmentEvent を作成し、プログラムで起動しようとしました。
  2. メソッド scrollbar.processEvent(e) を使用しました。
  3. ただし、「Container 型のメソッド processEvent(AWTEvent) が表示されません」という行に沿ってエラーが発生します。

私の2つの質問

  1. イベントリスナー内ではなく、プログラムでスクロールバーを移動するという目的を達成するにはどうすればよいですか。

  2. 私の 2 番目の質問は、なぜ setValue() メソッドが本来の目的を果たさないのかということです。つまり、現在の Java のバージョンはわかりませんが、これが修正されていないのはばかげていると思いませんか? setValue() メソッドは、イベント リスナーの外ではまったく無意味に見えます。

4

1 に答える 1

0

ViewPortを取得してから移動してみてくださいviewPosition

于 2013-04-16T22:21:23.173 に答える