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

验证以下输出。

Swing JScrollbar

❮ SWING 控件