Scrollable
実装されたインターフェースとオーバーライドされたメソッドを使用してJPanelを作成しましgetScrollableBlockIncrement
た。JPanelをJScrollPaneに配置しました。また、JPanelには同じ高さのコンポーネントがいくつか含まれています。この高さはunitIncrementです。ここで、垂直スクロールバーの矢印をクリックすると、ビューポートがunitIncrementだけ移動します。しかし、マウスでノブを動かすと、ビューポートがピクセル単位で移動します。unitIncrementだけでビューポートを移動させるにはどうすればよいですか?
更新:
ノブは、スクロールバーのトラック上の中央のボタンで、ドラッグします。そこに示されているように、スクロールペインのしくみ
ビューポートは、とにかくunitIncrementだけで移動したいです。また、ノブのマウスの左ボタンを押してドラッグしたときも。動作例:Eclipseのインテリセンス。
更新2:
試し
myJScrollPane.getVerticalScrollBar().setUnitIncrement(16);
ましたが、希望する動作が得られませんでした。
コードをデバッグしたところ、ノブをドラッグするとパラメーターunitIncrementが破棄されることがわかりました。
更新3:
JScrollPaneで適切な解決策が見つからず、カスタムスクロールペインを作成しました。