JScrollBar是什么
JScrollBar是滚动条;用户在滚动条内移动滑块可确定显示区域中的内容。
导入
import javax.swing.JScrollBar;
创建
第一种:
JScrollBar bar=new JScrollBar();
这里是创建了一个垂直方向的滚动条,并且它的默认参数为
- minimum = 0
- maximum = 100
- value = 0
- extent = 10
第二种:
JScrollBar bar=new JScrollBar(JScrollBar.HORIZONTAL);
在这里HORIZONTAL控制滚动条的方向
- HORIZONTAL 水平方向
- VERTICAL 垂直方向
- NO_ORIENTATION 不具有方向
并且它的默认参数值和第一种相同:
- minimum = 0
- maximum = 100
- value = 0
- extent = 10
第三种:
如果我们想自己写它这四种值
public JScrollBar(int orientation,
int value,
int extent,
int min,
int max)
orientation代表指定方向
value代表当前值
extent代表跨度:可见区域的大小;这里设置为0,我发现设置为15最大值就会少15
min代表最小值
max代表最大值
JScrollBar bar=new JScrollBar(JScrollBar.HORIZONTAL, 50,0,1,150);
这就是创建了一个当前值为50,范围0,最小1,最大150的滚动条
setValues设置四个参数值的大小
除了在创建的时候就设置好参数值的大小,也可以通过setValues来设置
bar.setValues(50,10,0,100);
- 50代表当前值
- 10代表跨度
- 0代表最小值
- 100代表最大值
getValue获得当前值的大小
bar.getValue();
返回当前值
addAdjustmentListener添加监听
这里实现的效果是:当用户拉动滚动条的时候,获取当前值,并且显示到label上面。
JLabel label1=new JLabel("",JLabel.CENTER);
bar.addAdjustmentListener(e->{
int v=e.getValue();
label1.setText("当前"+v);
});
完整代码
import java.awt.event.AdjustmentEvent;
import java.awt.event.AdjustmentListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollBar;
public class Source3 extends JFrame{
Source3(){
JLabel label1=new JLabel("",JLabel.CENTER);
// JScrollBar bar=new JScrollBar(JScrollBar.HORIZONTAL);
JScrollBar bar=new JScrollBar(JScrollBar.HORIZONTAL, 50,15,1,150);
bar.setValues(50,10,0,100);
bar.addAdjustmentListener(e->{
int v=e.getValue();
label1.setText("当前"+v);
});
add("Center",label1);
add("North",bar);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(500, 220);
setVisible(true);
}
public static void main(String[] args) {
new Source3();
}
}