Swing - JScrollBar 类
简介
JScrollBar 类是滚动条的一个实现。
类声明
以下是 javax.swing.JScrollBar 类的声明 −
public class JScrollBar
extends JComponent
implements Adjustable, Accessible
字段
以下是 javax.swing.ImageIcon 类的字段 −
protected int blockIncrement
protected BoundedRangeModel model − 表示滚动条的最小值、最大值、范围(又名"visibleAmount")和当前值的模型。
protected int orientation
protected int unitIncrement
类构造函数
| 序号 | 构造函数 & 描述 |
|---|---|
| 1 |
JScrollBar() 使用初始值创建一个垂直滚动条。 |
| 2 |
JScrollBar(int orientation) 创建具有指定方向和初始值的滚动条。 |
| 3 |
JScrollBar(int orientation, int value, int extent, int min, int max) 创建具有指定方向、值、范围、最小值和最大值的滚动条。 |
类方法
| 序号 | 方法 & 描述 |
|---|---|
| 1 |
void addAdjustmentListener(AdjustmentListener l) 添加一个 AdjustmentListener。 |
| 2 |
protected void fireAdjustmentValueChanged(int id, int type, int value) 通知侦听器滚动条的模型已更改。 |
| 3 |
AccessibleContext getAccessibleContext() 获取与此 JScrollBar 关联的 AccessibleContext。 |
| 4 |
AdjustmentListener[] getAdjustmentListeners() 返回使用 addAdjustmentListener() 添加到此 JScrollBar 的所有 AdjustmentListener 的数组。 |
| 5 |
int getBlockIncrement() 为了向后兼容 java.awt.Scrollbar。 |
| 6 |
int getBlockIncrement(int direction) 给定一个块(通常是"页面")向上/向下请求,返回更改滚动条值的量。 |
| 7 |
int getMaximum() 滚动条的最大值是maximum - extent。 |
| 8 |
Dimension getMaximumSize() 滚动条沿其滚动轴是灵活的,而沿另一个轴是刚性的。 |
| 9 |
int getMinimum() 返回滚动条支持的最小值(通常为零)。 |
| 10 |
Dimension getMinimumSize() 滚动条沿其滚动轴是灵活的,而沿另一个轴是刚性的。 |
| 11 |
BoundedRangeModel getModel() 返回处理滚动条的四个基本属性的数据模型:最小值、最大值、值、范围。 |
| 12 |
int getOrientation() 返回组件的方向(水平或垂直)。 |
| 13 |
ScrollBarUI getUI() 返回实现此组件外观的委托。 |
| 14 |
String getUIClassID() 返回此组件的 LookAndFeel 类的名称。 |
| 15 |
int getUnitIncrement() 为了向后兼容 java.awt.Scrollbar。 |
| 16 |
int getUnitIncrement(int direction) 在给定单位向上/向下请求的情况下,返回更改滚动条值的量。 |
| 17 |
int getValue() 返回滚动条的值。 |
| 18 |
boolean getValueIsAdjusting() 如果正在拖动滚动条旋钮,则为真。 |
| 19 |
int getVisibleAmount() 返回滚动条的范围,也就是它的"visibleAmount"。 |
| 20 |
protected String paramString() 返回此 JScrollBar 的字符串表示形式。 |
| 21 |
void removeAdjustmentListener(AdjustmentListener l) 移除一个 AdjustmentEvent 监听器。 |
| 22 |
void setBlockIncrement(int blockIncrement) 设置 blockIncrement 属性。 |
| 23 |
void setEnabled(boolean x) 启用组件,以便可以更改旋钮位置。 |
| 24 |
void setMaximum(int maximum) 设置模型的最大值属性。 |
| 25 |
void setMinimum(int minimum) 设置模型的最小属性。 |
| 26 |
void setModel(BoundedRangeModel newModel) 设置处理滚动条四个基本属性的模型:最小值、最大值、值、范围。 |
| 27 |
void setOrientation(int orientation) 将滚动条的方向设置为 VERTICAL 或 HORIZONTAL。 |
| 28 |
void setUI(ScrollBarUI ui) 设置呈现此组件的 L&F 对象。 |
| 29 |
void setUnitIncrement(int unitIncrement) 设置 unitIncrement 属性。 |
| 30 |
void setValue(int value) 设置滚动条的值。 |
| 31 |
void setValueIsAdjusting(boolean b) 设置模型的 valueIsAdjusting 属性。 |
| 32 |
void setValues(int newValue, int newExtent, int newMin, int newMax) 在强制参数服从通常的约束后设置四个 BoundedRangeModel 属性。 |
| 33 |
void setVisibleAmount(int extent) 设置模型的范围属性。 |
| 34 |
void updateUI() 覆盖 JComponent.updateUI。 |
继承的方法
这个类继承了以下类的方法 −
- java.lang.Object
JScrollBar 示例
在 D:/ > SWING > com > tutorialspoint > gui > 中使用您选择的任何编辑器创建以下 Java 程序
SwingControlDemo.java
package com.tutorialspoint.gui;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class SwingControlDemo {
private JFrame mainFrame;
private JLabel headerLabel;
private JLabel statusLabel;
private JPanel controlPanel;
public SwingControlDemo(){
prepareGUI();
}
public static void main(String[] args){
SwingControlDemo swingControlDemo = new SwingControlDemo();
swingControlDemo.showScrollbarDemo();
}
private void prepareGUI(){
mainFrame = new JFrame("Java Swing Examples");
mainFrame.setSize(400,400);
mainFrame.setLayout(new GridLayout(3, 1));
mainFrame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent windowEvent){
System.exit(0);
}
});
headerLabel = new JLabel("", JLabel.CENTER);
statusLabel = new JLabel("",JLabel.CENTER);
statusLabel.setSize(350,100);
controlPanel = new JPanel();
controlPanel.setLayout(new FlowLayout());
mainFrame.add(headerLabel);
mainFrame.add(controlPanel);
mainFrame.add(statusLabel);
mainFrame.setVisible(true);
}
private void showScrollbarDemo() {
headerLabel.setText("Control in action: JScrollbar");
final JScrollBar horizontalScroller = new JScrollBar(JScrollBar.HORIZONTAL);
final JScrollBar verticalScroller = new JScrollBar();
verticalScroller.setOrientation(JScrollBar.VERTICAL);
horizontalScroller.setMaximum (100);
horizontalScroller.setMinimum (1);
verticalScroller.setMaximum (100);
verticalScroller.setMinimum (1);
horizontalScroller.addAdjustmentListener(new AdjustmentListener() {
@Override
public void adjustmentValueChanged(AdjustmentEvent e) {
statusLabel.setText("Horozontal: "
+horizontalScroller.getValue()
+" ,Vertical: "
+ verticalScroller.getValue());
}
});
verticalScroller.addAdjustmentListener(new AdjustmentListener() {
@Override
public void adjustmentValueChanged(AdjustmentEvent e) {
statusLabel.setText("Horozontal: "
+horizontalScroller.getValue()
+" ,Vertical: "+ verticalScroller.getValue());
}
});
controlPanel.add(horizontalScroller);
controlPanel.add(verticalScroller);
mainFrame.setVisible(true);
}
}
使用命令提示符编译程序。 转到 D:/ > SWING 并键入以下命令。
D:\SWING>javac com\tutorialspoint\gui\SwingControlDemo.java
如果没有报错,说明编译成功。 使用以下命令运行程序。
D:\SWING>java com.tutorialspoint.gui.SwingControlDemo
验证以下输出。

