橘子味的心
标题: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() 滚动条的最大值是最大值 - 范围。
8 Dimension getMaximumSize() 滚动条沿其滚动轴是灵活的,沿另一个轴是刚性的。
9 int getMinimum() 返回滚动条支持的最小值(通常为零)。
10 Dimension getMinimumSize() 滚动条沿其滚动轴是灵活的,沿另一个轴是刚性的。
11 BoundedRangeModel getModel() 返回处理滚动条的四个基本属性的数据模型:minimummaximumvalueextent
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() 如果拖动滚动条旋钮,则为True
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) 将滚动条的方向设置为VERTICALHORIZONTAL
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示例

使用编辑器创建以下Java程序 -


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class JScrollBarExample {
   private JFrame mainFrame;
   private JLabel headerLabel;
   private JLabel statusLabel;
   private JPanel controlPanel;

   public JScrollBarExample(){
      prepareGUI();
   }
   public static void main(String[] args){
       JScrollBarExample  swingControlDemo = new JScrollBarExample();      
      swingControlDemo.showScrollbarDemo();
   }
   private void prepareGUI(){
      mainFrame = new JFrame("Java Swing JScrollBar示例");
      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("水平: "
               +horizontalScroller.getValue() 
               +" , 垂直: "
               + verticalScroller.getValue());
            }
      });
      verticalScroller.addAdjustmentListener(new AdjustmentListener() {
         @Override
         public void adjustmentValueChanged(AdjustmentEvent e) {
            statusLabel.setText("水平: "
               +horizontalScroller.getValue() 
               +" , 垂直: "+ verticalScroller.getValue());
         }
      });
      controlPanel.add(horizontalScroller);
      controlPanel.add(verticalScroller);

      mainFrame.setVisible(true);  
   } 
}

执行上面示例代码,得到以下结果:


目录

分类