前書き
- JScrollPane の垂直スクロール位置を設定しようとしています
- スクロールペインには垂直スクロールバーがありませんが、ビューをスクロールしたいです。
- getVerticalScrollBar.setValue(x) を使用して、AdjustmentListener 内でこれを正常に実行できます。
- ただし、イベントリスナーではなく、通常のメソッドからこれを行いたいです。
- このコードを別のメソッドで記述すると、スクロールしません。
1つの代替案を試しました
- invokeLater() オプション (setValue(x) メソッドを invokeLater() 内に配置) を使用してみましたが、うまくいきません。
- なぜ機能しないのかわかりません。そのため、わざわざコードを投稿しませんでした (長すぎます)。
別の代替手段を試した
- カスタム AdjustmentEvent を作成し、プログラムで起動しようとしました。
- メソッド scrollbar.processEvent(e) を使用しました。
- ただし、「Container 型のメソッド processEvent(AWTEvent) が表示されません」という行に沿ってエラーが発生します。
私の2つの質問
イベントリスナー内ではなく、プログラムでスクロールバーを移動するという目的を達成するにはどうすればよいですか。
私の 2 番目の質問は、なぜ setValue() メソッドが本来の目的を果たさないのかということです。つまり、現在の Java のバージョンはわかりませんが、これが修正されていないのはばかげていると思いませんか? setValue() メソッドは、イベント リスナーの外ではまったく無意味に見えます。