Скажем, у меня есть изображение подходящего размера внутри Image()
Я хочу изменить Thumb или регулятор компонента JScrollBar
на этот образ.
Я знаю, что нужно подкласс ScrollBarUI
Вот где я сейчас нахожусь.
public class aScrollBar extends JScrollBar {
public aScrollBar(Image img) {
super();
this.setUI(new ScrollBarCustomUI(img));
}
public class ScrollBarCustomUI extends BasicScrollBarUI {
private final Image image;
public ScrollBarCustomUI(Image img) {
this.image = img;
}
@Override
protected void paintThumb(Graphics g, JComponent c, Rectangle thumbBounds) {
Graphics2D g2g = (Graphics2D) g;
g2g.dispose();
g2g.drawImage(image, 0, 0, null);
super.paintThumb(g2g, c, thumbBounds);
}
@Override
protected void paintTrack(Graphics g, JComponent c, Rectangle trackBounds) {
super.paintTrack(g, c, trackBounds);
}
@Override
protected void setThumbBounds(int x, int y, int width, int height) {
super.setThumbBounds(0, 0, 0, 0);
}
@Override
protected Dimension getMinimumThumbSize() {
return new Dimension(0, 0);
}
@Override
protected Dimension getMaximumThumbSize() {
return new Dimension(0, 0);
}
}
}
Сейчас я не вижу большого пальца, а только трек, когда пытаюсь щелкнуть по полосе прокрутки.
Я проверил эту статью и увидел, что люди рекомендуют вам прочитать это , но он нигде не упоминает изображения, так что это то, что я придумал.
Надеюсь, кто-нибудь может мне помочь, спасибо!