JScrollBarが非表示でもMouseWheelでScrollする
Total: 5574
, Today: 2
, Yesterday: 1
Posted by aterai at
Last-modified:
概要
JScrollBar
が非表示の場合のMouseWheel
によるScroll
をテストします。
Screenshot
Advertisement
サンプルコード
JScrollBar vsb = new JScrollBar(Adjustable.VERTICAL) {
@Override public Dimension getPreferredSize() {
Dimension d = super.getPreferredSize();
d.height = 0;
return d;
}
};
View in GitHub: Java, Kotlin解説
PreferredSize: 0, shift pressed: Horizontal WheelScrolling
ScrollBarPolicy
はそれぞれALWAYS
で常に表示VerticalScrollBarPolicy
:VERTICAL_SCROLLBAR_ALWAYS
HorizontalScrollBarPolicy
:HORIZONTAL_SCROLLBAR_ALWAYS
JScrollBar#getPreferredSize()
をオーバーライドして幅または高さを0
にして返す- 垂直スクロールバーの
JScrollBar#isVisible()
をオーバーライドしてShiftキーが押されている場合はfalse
を返す- 垂直スクロールバーが非表示で水平スクロールバーが表示されている場合、
MouseWheel
で水平スクロール可能
- 垂直スクロールバーが非表示で水平スクロールバーが表示されている場合、
SCROLLBAR_ALWAYS
ScrollBarPolicy
はそれぞれALWAYS
で常に表示VerticalScrollBarPolicy
:VERTICAL_SCROLLBAR_ALWAYS
HorizontalScrollBarPolicy
:HORIZONTAL_SCROLLBAR_ALWAYS
SCROLLBAR_NEVER
ScrollBarPolicy
はそれぞれNEVER
で常に非表示VerticalScrollBarPolicy
:VERTICAL_SCROLLBAR_NEVER
HorizontalScrollBarPolicy
:HORIZONTAL_SCROLLBAR_NEVER
参考リンク
- JDK-6911375 mouseWheel has no effect without vertical scrollbar - Java Bug System
- 6911375: mouseWheel has no effect without vertical scrollbar by prsadhuk · Pull Request #7585 · openjdk/jdkで垂直スクロールバーが非表示でもホイールスクロール可能になるよう修正される予定