Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 隐藏滚动条,但它将继续工作_Java_Swing_Jscrollpane_Jscrollbar - Fatal编程技术网

Java 隐藏滚动条,但它将继续工作

Java 隐藏滚动条,但它将继续工作,java,swing,jscrollpane,jscrollbar,Java,Swing,Jscrollpane,Jscrollbar,我试图隐藏滚动窗格的垂直条,但我希望它继续垂直滚动。这是我的代码: JScrollPane scroll=new JScrollPane(arbol); scroll.setBounds(35,40, 230, 530); scroll.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); scroll.setBorder(null);

我试图隐藏滚动窗格的垂直条,但我希望它继续垂直滚动。这是我的代码:

JScrollPane scroll=new JScrollPane(arbol);
        scroll.setBounds(35,40, 230, 530);
        scroll.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
        scroll.setBorder(null);
        scroll.setOpaque(false);
        scroll.getVerticalScrollBar().setBorder(null);
        scroll.getViewport().setOpaque(false);
        JLabel sep=new JLabel(Imagen("SeparaV.png"));
        sep.setSize(scroll.getSize());
        sep.setLocation(-17, 0);
        sep.setHorizontalAlignment(JLabel.RIGHT);
        scroll.add(sep);
        Frame.add(scroll);
对我来说,这是好的,如果它只显示箭头。这就是我需要的:

对我来说,只要展示箭头就好了

我想你的意思是你不想看到中间的条用来拖动滚动条。如果是这样,则可以使用滚动条的默认操作创建一个仅包含箭头按钮的简单面板:

import java.awt.*;
import javax.swing.*;
import javax.swing.plaf.basic.*;

public class ScrollPaneSSCCE extends JPanel
{
    public ScrollPaneSSCCE()
    {
        setLayout( new BorderLayout() );
        JTable table = new JTable(50, 5);
        JScrollPane scrollPane = new JScrollPane( table );
        scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER);
        add(scrollPane);
        JScrollBar vertical = scrollPane.getVerticalScrollBar();

        JPanel east = new JPanel( new BorderLayout() );
        add(east, BorderLayout.EAST);

        BasicArrowButton north = new BasicArrowButton(BasicArrowButton.NORTH);
        north.setAction( new ActionMapAction("", vertical, "negativeUnitIncrement") );
        east.add(north, BorderLayout.NORTH);

        BasicArrowButton south = new BasicArrowButton(BasicArrowButton.SOUTH);
        south.setAction( new ActionMapAction("", vertical, "positiveUnitIncrement") );
        east.add(south, BorderLayout.SOUTH);
    }

    private static void createAndShowUI()
    {
        JFrame frame = new JFrame("ScrollPaneSSCCE");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        frame.add(new ScrollPaneSSCCE());
        frame.setSize(200, 300);
        frame.setLocationByPlatform( true );
        frame.setVisible( true );
    }

    public static void main(String[] args)
    {
        EventQueue.invokeLater(new Runnable()
        {
            public void run()
            {
                createAndShowUI();
            }
        });
    }
}


您需要查看以了解这是如何工作的。

如果只显示箭头,对我来说是好的。
-我认为不,不好,删除递增/递减按钮,将PreferredSize设置为(0,0),然后用透明度覆盖Thumb,在这里几次,即箭头是滚动条的一部分。。。