有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何将JScrollbar的拇指更改为自定义图像

假设我在Image()中有一个大小合适的图像 我想将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);
        }
    }
}

现在我看不到任何拇指,只有一个轨道,当我试图点击滚动条

我查看了this文章,看到有人推荐你阅读this,但他没有提到图片,所以这就是我想到的

希望有人能帮我,谢谢


共 (0) 个答案