Java Swing组件JScrollPane

当一个容器内放置了许多组件,而容器的显示区域不足以同时显示所有组件时,如果让容器带滚动条,通过移动滚动条的滑块,容器中位置上的组件就能看到。滚动面板JScrollPane能实现这样的要求,JScrollPane是带有滚动条的面板。JScrollPane是Container类的子类,也是一种容器,但是只能添加一个组件。JScrollPane的一般用法是先将一些组件添加到一个JPanel中,然后再把这个JPanel添加到JScrollPane中。这样,从界面上看,在滚动面板上,好像也有多个组件。在Swing中,像JTextArea、JList、JTable等组件都没有自带滚动条,都需要将它们放置于滚动面板,利用滚动面板的滚动条,浏览组件中的内容。

JScrollPane类的构造方法有:

  1. JScrollPane(),先创建JScrollPane对象,然后再用方法setViewportView(Component com)为滚动面板对象放置组件对象。

  2. JScrollPane(Component com),创建JScrollPane对象,参数com是要放置于JScrollPane对象的组件对象。为JScrollPane对象指定了显示对象之后,再用add()方法将JScrollPane对象放置于窗口中。


JScrollPane对象设置滚动条的方法是:

  1. setHorizontalScrollBarPolicy(int policy),policy 取以下列3个值之一:
        JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS
        JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEED
        JScrollPane.HORIZONTAL_SCROLLBAR_NEVER

  2. setVerticalScrollBarPolicy(int policy), policy 取以下列3个值之一:
        JScrollPane.VERTICAL_SCROLLBAR_ALWAYS
        JScrollPane.VERTICAL_SCROLLBAR_AS_NEED
        JScrollPane.VERTICAL_SCROLLBAR_NEVER


以下代码将文本区放置于滚动面板,滑动面板的滚动条能浏览文本区
    JTextArea textA = new JTextArea(20,30);
    JScrollPane jsp = new JScrollPane(TextA);
    getContentPane().add(jsp);//将含文本区的滚动面板加入到当前窗口中


你可能感兴趣的:(JScrollPane)