如何在JScrollPane中隐藏但不禁用滚动条



我试过这样的东西:

    getHorizontalScrollBar().setPreferredSize (new Dimension(0,0)); 

    setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);

但它也禁用了滚动条。

对我来说很好:

import java.awt.*;
import javax.swing.*;
public class TableHorizontal
{
    private static void createAndShowGUI()
    {
        final JTable table = new JTable(10, 10);
        table.setAutoResizeMode( JTable.AUTO_RESIZE_OFF );
        JScrollPane scrollPane = new JScrollPane( table );
        scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
        JFrame frame = new JFrame("SSCCE");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add( scrollPane );
        frame.setLocationByPlatform( true );
        frame.pack();
        frame.setVisible( true );
    }
    public static void main(String[] args)
    {
        EventQueue.invokeLater(new Runnable()
        {
            public void run()
            {
                createAndShowGUI();
            }
        });
    }
}

上面的代码是一个SSCCE。如果你需要更多的帮助,那么发布一个合适的SSCCE来证明你的问题。所有问题都应该包括一个SSCCE,而不是像"它不起作用"这样的语句,它可以准确地演示你想要做什么

试试这个。

panLeft.setLayout(null);
panLeft.setPreferredSize(null);
panLeft.addMouseWheelListener(new MouseWheelListenerPanLeft());
scrollPaneLeft.getVerticalScrollBar().setPreferredSize(new Dimension(0, 0));
scrollPaneLeft.getViewport().setBorder(null);
scrollPaneLeft.setViewportBorder(null);
scrollPaneLeft.setBorder(null);

最新更新