从 JScrollPane 中的 Swing Scrollbar 中删除箭头

asa*_*ams 3 java icons swing jbutton jscrollbar

我想从 JScrollPane 中的滚动条中删除滚动条箭头按钮。我该怎么做?

小智 6

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
}
Run Code Online (Sandbox Code Playgroud)

}

移除按钮为那时留出空间。我发现使按钮归零是最简单的方法。