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);
   }
}

執行上面示例代碼,得到以下結果:


上一篇: Swing控件 下一篇: Swing事件處理