Remove Arrows from Swing Scrollbar in JScrollPane

后端 未结 4 1503
半阙折子戏
半阙折子戏 2021-01-14 11:08

I would like to remove the scrollbar arrow buttons from a scrollbar in a JScrollPane. How would I do this?

4条回答
  •  半阙折子戏
    2021-01-14 12:04

    class NoArrowScrollBarUI extends BasicScrollBarUI {
    
    
    protected JButton createZeroButton() {
        JButton button = new JButton("zero button");
        Dimension zeroDim = new Dimension(0,0);
        button.setPreferredSize(zeroDim);
        button.setMinimumSize(zeroDim);
        button.setMaximumSize(zeroDim);
        return button;
    }
    
    @Override
    protected JButton createDecreaseButton(int orientation) {
        return createZeroButton();
    }
    
    @Override
    protected JButton createIncreaseButton(int orientation) {
        return createZeroButton();
    }
    
    
    @Override
    protected void paintTrack(Graphics g, JComponent c, Rectangle trackBounds) {
        //own painting if needed
    }
    
    @Override
    protected void paintThumb(Graphics g, JComponent c, Rectangle thumbBounds) {
        //own painting if needed
    }
    

    }

    Removing buttons let space for then. I found make buttons zero as the simplest way.

提交回复
热议问题