Java Swing JScrollBar

由 drbear 创建, 最后一次修改 2017-01-09

Java Swing教程 - Java Swing JScrollBar


JScrollBar有一个orientation属性,它决定了它是水平还是垂直显示。

JScrollBar有一个orientation属性,它决定了它是水平还是垂直显示。...

当单击箭头按钮时,旋钮在轨道上朝向箭头按钮移动。

我们可以通过鼠标拖动拇指向任一端。要移动缩略图,请单击轨道。

下表列出了JScrollBar和JScrollBar的常用属性获取/设置这些属性的方法。

ID 方法/说明
1 方法/说明...
2 getValue()setValue()旋钮的位置是其值。 最初,它被设置为零。
3 getVisibleAmount()setVisibleAmount()它是旋钮的大小。 它与轨道的大小成比例地表示。
4 getMinimum()setMinimum()它表示的最小值。 默认值为零。
5 getMinimum()setMinimum()它表示的最小值。 默认值为零。...

以下代码演示如何创建JScrollBar具有不同的性质。

创建具有所有默认属性的JScrollBar。其方向将为垂直,当前值0,范围10,最小值0和最大值100。

JScrollBar sb1  = new JScrollBar();

使用默认值创建水平JScrollBar

JScrollBar sb2  = new JScrollBar(JScrollBar.HORIZONTAL);

要创建当前值为50的水平JScrollBar,  范围15,最小1和最大150。

JScrollBar sb3  = new JScrollBar(JScrollBar.HORIZONTAL, 50,   15,   1, 150);

JScrollBar的当前值只能在其最小值和(最大 - 扩展)值之间设置。

要处理来自JScrollBar的AdjustmentListener,请将AdjustmentListener添加到名为myScrollBar的JScrollBar。

myScrollBar.addAdjustmentListener((AdjustmentEvent e)  ->  {
    if (!e.getValueIsAdjusting())  {
        // The logic for value changed  goes  here
    }
});


JTextField与用于滚动的JScrollBar

以下代码显示如何使用BoundedRangeModel链接JTextField和JScrollBar。

import java.awt.BorderLayout;
/*from  w  w  w  .j ava2 s .  co  m*/
import javax.swing.BoundedRangeModel;
import javax.swing.BoxLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollBar;
import javax.swing.JTextField;

public class Main {

  public static void main(String args[]) {
    JFrame frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    final JTextField textField = new JTextField();

    JScrollBar scrollBar = new JScrollBar(JScrollBar.HORIZONTAL);

    JPanel panel = new JPanel();
    panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));

    BoundedRangeModel brm = textField.getHorizontalVisibility();
    scrollBar.setModel(brm);
    panel.add(textField);
    panel.add(scrollBar);


    frame.add(panel, BorderLayout.NORTH);
    frame.setSize(300, 100);
    frame.setVisible(true);
  }
}
     
     


以上内容是否对您有帮助:

二维码
建议反馈
二维码