位置:首页 > Java技术 > Swing > Swing JScrollBar

Swing JScrollBar

JScrollBar类实现滚动。

类声明

以下是javax.swing.JScrollBar类的声明:

public class JScrollBar
   extends JComponent
      implements Adjustable, Accessible

字段域

以下是javax.swing.ImageIcon类的字段:

  • protected int blockIncrement

  • protected BoundedRangeModel model -- 模型表示滚动条的最小,最大程度(又名“可视部分”)和当前值。

  • protected int orientation

  • protected int unitIncrement

类构造函数

S.N. 构造函数 & 描述
1 JScrollBar() 
Creates a vertical scrollbar with the initial values.
2 JScrollBar(int orientation) 
Creates a scrollbar with the specified orientation and the initial values.
3 JScrollBar(int orientation, int value, int extent, int min, int max) 
Creates a scrollbar with the specified orientation, value, extent, minimum, and maximum.

类方法

S.N. 方法 & 描述
1 void addAdjustmentListener(AdjustmentListener l) 
Adds an AdjustmentListener.
2 protected void fireAdjustmentValueChanged(int id, int type, int value) 
Notify listeners that the scrollbar's model has changed.
3 AccessibleContext getAccessibleContext() 
Gets the AccessibleContext associated with this JScrollBar.
4 AdjustmentListener[] getAdjustmentListeners() 
Returns an array of all the AdjustmentListeners added to this JScrollBar with addAdjustmentListener().
5 int getBlockIncrement() 
For backwards compatibility with java.awt.Scrollbar.
6 int getBlockIncrement(int direction) 
Returns the amount to change the scrollbar's value by, given a block (usually "page") up/down request.
7 int getMaximum() 
The maximum value of the scrollbar is maximum - extent.
8 Dimension getMaximumSize() 
The scrollbar is flexible along it's scrolling axis and rigid along the other axis.
9 int getMinimum() 
Returns the minimum value supported by the scrollbar (usually zero).
10 Dimension getMinimumSize() 
The scrollbar is flexible along it's scrolling axis and rigid along the other axis.
11 BoundedRangeModel getModel() 
Returns data model that handles the scrollbar's four fundamental properties: minimum, maximum, value, extent.
12 int getOrientation() 
Returns the component's orientation (horizontal or vertical).
13 ScrollBarUI getUI() 
Returns the delegate that implements the look and feel for this component.
14 String getUIClassID() 
Returns the name of the LookAndFeel class for this component.
15 int getUnitIncrement() 
For backwards compatibility with java.awt.Scrollbar.
16 int getUnitIncrement(int direction) 
Returns the amount to change the scrollbar's value by, given a unit up/down request.
17 int getValue() 
Returns the scrollbar's value.
18 boolean getValueIsAdjusting() 
True if the scrollbar knob is being dragged.
19 int getVisibleAmount() 
Returns the scrollbar's extent, aka its "visibleAmount".
20 protected String paramString() 
Returns a string representation of this JScrollBar.
21 void removeAdjustmentListener(AdjustmentListener l) 
Removes an AdjustmentEvent listener.
22 void setBlockIncrement(int blockIncrement) 
Sets the blockIncrement property.
23 void setEnabled(boolean x) 
Enables the component so that the knob position can be changed.
24 void setMaximum(int maximum) 
Sets the model's maximum property.
25 void setMinimum(int minimum) 
Sets the model's minimum property.
26 void setModel(BoundedRangeModel newModel) 
Sets the model that handles the scrollbar's four fundamental properties: minimum, maximum, value, extent.
27 void setOrientation(int orientation) 
Set the scrollbar's orientation to either VERTICAL or HORIZONTAL.
28 void setUI(ScrollBarUI ui) 
Sets the L&F object that renders this component.
29 void setUnitIncrement(int unitIncrement) 
Sets the unitIncrement property.
30 void setValue(int value) 
Sets the scrollbar's value.
31 void setValueIsAdjusting(boolean b) 
Sets the model's valueIsAdjusting property.
32 void setValues(int newValue, int newExtent, int newMin, int newMax) 
Sets the four BoundedRangeModel properties after forcing the arguments to obey the usual constraints.
33 void setVisibleAmount(int extent) 
Set the model's extent property.
34 void updateUI() 
Overrides JComponent.updateUI.

方法继承

这个类从以下类继承的方法:

  • java.lang.Object

JScrollBar 例子

选择使用任何编辑器创建以下java程序在 D:/ > SWING > com > yiibai > gui >

SwingControlDemo.java
package com.yiibai.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 comyiibaiguiSwingControlDemo.java

如果没有错误出现,这意味着编译成功。使用下面的命令来运行程序。

D:SWING>java com.yiibai.gui.SwingControlDemo

验证下面的输出

Swing JScrollbar