Java Swing 用法总结 - JScrollPane

JScrollPane是一个可以显示滚动条的面板

构造方法

JScrollPane()

默认构造方法,不接受任何参数,添加内容需要通过方法setViewportView

JScrollPane(Component view)

接受一个组件,默认显示这个组件

基础用法

setViewportView(Component view)

JScrollPane不能使用add来显示内容,需要通过setViewportView来显示

也可以使用JScrollPane的构造方法来显示内容

具体用法

1
2
3
JScrollPane scrollPane = new JScrollPane();
JPanel panel = new JPanel();
scrollPane.setViewportView(panel);
1
2
3
4
// 反例,无法使用
JScrollPane scrollPane = new JScrollPane();
JPanel panel = new JPanel();
scrollPane.add(panel);

setHorizontalScrollBarPolicysetVerticalScrollBarPolicy

用来设置滚动条何时显示

注:Horizontal为水平,Vertical为垂直

这两个方法接受JScrollPane的几个常量,分别是

1
2
3
4
5
6
7
8
9
10
11
12
13
// 自动出现
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED
JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED

// 总是出现
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS

// 永不出现
JScrollPane.HORIZONTAL_SCROLLBAR_NEVER
JScrollPane.VERTICAL_SCROLLBAR_NEVER

// 注:JScrollPane的这两个属性的默认值均为自动出现

具体用法

1
2
3
4
5
6
JScrollPane scrollPane = new JScrollPane();
JPanel panel = new JPanel();
// ... 为panel添加内容
scrollPane.setViewportView(panel);
scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);