JavaSwing的JScrollBar使用
JScrollBar的使用:
类层次结构图:
java.lang.Object
--java.awt.Component
--java.awt.Container
--javax.swing.JComponent
--javax.swing.JScrollBar
在上一节我们看到JScrollPane利用ScrollBar的功能使它可以利用滚动轴滚动窗口,乍看之下我们并不会直接使用到
JScrollBar的方法,因为JScrollPane都帮我们处理得好好的,但如果我们想对滚动轴做更细的设置,例如在拖曳时一次滚动多少
区域等,就必须了解JScrollBar所提供的功能了。
JScrollBar在处理窗口的滚动并不像JScrollPane那么容易,看起来也比
JScrollPane简单得许多,因此通常在实现时我们会取一些JScrollBar所提供的功能,来补足我们对JScrollPane的需要,而不会直
接拿JScrollBar来做滚动操作。下面是构造函数:
JScrollBar构造函数:
JScrollBar():建立一个垂直的滚动轴,默认参数值分别为:
minimum=0,maximum=100,value=0,extent=10.
JScrollBar(int orientation):
建立一个指定方向的滚动轴,默认参数值分别是:
minimum=0,maximum=100,value=0,extent=10.
JScrollBar(int orientation,int value,int extent,int min,int max):建立一个指定方向的滚动轴,并设置value、extent、
mimimum与maximum四个参数值。
JScrollBar四个参数的意义如下:
value:JScrollBar一开始的起始位置,若设为0表示在滚动轴的最顶端。
extent:延伸区,限制滚动轴可滚动的范围。例如,若minimum值设为0,maximan值设为100,而extent值设为20,则滚动轴可滚动的
区域大小为100-20-0=80个刻度,滚动的范围从0~80。若minimum值设为20,maximan值设为100,而extent值设为30,则滚动轴可滚
动的区域大小为100-30-20=50个刻度,滚动的范围从20~70。因此可知,延伸区设得越大,可滚动的范围就起小。
minimum:设置最小刻度值。
maximum:设置最大刻度值。
JScrollBar最常用到的就是AdjustmentEvent事件,当用户拖曳滚动轴时就会触发此事件。因此若要处理这类事件,就必须实现
AdjustmentEvent界面。此界面定义了一个adjustmentValueChanged()方法,实现此方法就能够得到滚动轴的相关信息。
下面简单的举个例子:
package com;
/**
*
* @author chenhailong
*
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class JScrollBar1 implements AdjustmentListener {
JScrollBar scrollBar1;
JScrollBar scrollBar2;
JPanel panel1;
JLabel label2 = new JLabel("刻度:", JLabel.CENTER);
public JScrollBar1() {
JFrame f = new JFrame("JScrollBarDemo");
Container contentPane = f.getContentPane();
panel1 = new JPanel();
scrollBar1 = new JScrollBar(JScrollBar.VERTICAL, 10, 10, 0, 100);
// 设置拖曳滚动轴时,滚动轴刻度一次的变化量。
scrollBar1.setUnitIncrement(1);
// 设置当鼠标在滚动轴列上按一下是,滚动轴一次所跳的区块大小
scrollBar1.setBlockIncrement(10);
scrollBar1.addAdjustmentListener(this);
// 建立一个空的JScrollBar
scrollBar2 = new JScrollBar();
// 设置滚动轴方向为水平方向
scrollBar2.setOrientation(JScrollBar.HORIZONTAL);
// 设置默认滚动轴位置在0刻度的地方。
scrollBar2.setValue(0);
// extent值设为20
scrollBar2.setVisibleAmount(20);
// minmum值设为10
scrollBar2.setMinimum(10);
// maximan值设为60,因为minmum值设为10,可滚动的区域大小为60-20-10=30
// 个刻度,滚动范围在10~40中。
scrollBar2.setMaximum(60);
// 当鼠标在滚动轴列上按一下时,滚动轴一次所跳的区块大小为5个刻度
scrollBar2.setBlockIncrement(5);
scrollBar2.addAdjustmentListener(this);
contentPane.add(panel1, BorderLayout.CENTER);
contentPane.add(scrollBar1, BorderLayout.EAST);
contentPane.add(scrollBar2, BorderLayout.SOUTH);
contentPane.add(label2, BorderLayout.NORTH);
f.setSize(new Dimension(200, 200));
f.setVisible(true);
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
// 实现adjustmentValueChanged方法。当用户改变转轴位置时,会将目前的滚动轴刻度写在labe2上。
public void adjustmentValueChanged(AdjustmentEvent e) {
if ((JScrollBar) e.getSource() == scrollBar1)
// e.getValue()所得的值与scrollBar1.getValue()所得的值一样。
label2.setText("垂直刻度" + e.getValue());
if ((JScrollBar) e.getSource() == scrollBar2)
label2.setText("水平刻度" + e.getValue());
}
public static void main(String[] args) {
new JScrollBar1();
}
}
- 大小: 12.4 KB
- 大小: 14.2 KB
- 大小: 14.2 KB
分享到:
相关推荐
JScrollBar 是 Java Swing 库提供的一个用于创建滚动条的组件,常用于在用户界面中显示和控制可滚动组件(如 JScrollPane)的滚动位置。
java swing漂亮界面 超酷 javaswing教程
Java Swing MVC使用
基于Java Swing + MySQL的图书管理系统,优秀Java毕业设计系统,小白必看! 基于Java Swing + MySQL的图书管理系统,优秀Java毕业设计系统,小白必看! 基于Java Swing + MySQL的图书管理系统,优秀Java毕业设计系统...
Java Swing是目前图形界面设计的主流开发工具,《Java Swing图形界面开发与案例详解[1]》从实用的角度出发,通过大量实例全面介绍Java Swing中各种组件的应用及图形界面的开发技术。《Java Swing图形界面开发与案例...
(java swing毕业设计)学生信息管理(文档+视频+源码)(java swing毕业设计)学生信息管理(文档+视频+源码)(java swing毕业设计)学生信息管理(文档+视频+源码)(java swing毕业设计)学生信息管理(文档+视频+源码)(java ...
1、JAVA Swing日期选择控件datepicker 2、附带该控件的使用
java swing用Logger输出错误日志
java Swing多Jpanel仿安卓苹果桌面动态切换滑动效果
java Swing读取图片,并以友好的方式呈现个使用者
java swing 教程 精通javaswing
(java swing毕业设计)酒店管理系统(ppt+ER图+流程图+需求背景数据库+架构说明有lun文视频源码齐全)(java swing毕业设计)酒店管理系统(ppt+ER图+流程图+需求背景数据库+架构说明有lun文视频源码齐全)(java swing毕业...
基于Java Swing的物业管理系统源码+数据库(95分以上课程设计).zip 已获高分通过项目,代码完整下载即用,无需修改确保可以运行。 基于Java Swing的物业管理系统源码+数据库(95分以上课程设计).zip 已获高分...
java swing漂亮软件界面 超酷 以及java swing教程
该系统使用Java Swing作为GUI编程工具,MySQL作为数据库,可以方便地进行商品管理、订单管理、库存管理和查询等操作。以下是该系统的简介: 系统概述 本系统主要包括商品管理、订单管理、库存管理和系统管理等功能...
用JavaSwing写的测试版多人猜拳, 暂时不包含源代码
串口接收数据源码java swing技术,包含了打开串口,接收串口的数据,关闭串口,清空数据等功能,自己手动开发的,如果需要可以自行开发,也可以联系上品威客索取
java课程设计——使用 Java Swing 编写的水果贪吃蛇小游戏java课程设计——使用 Java Swing 编写的水果贪吃蛇小游戏java课程设计——使用 Java Swing 编写的水果贪吃蛇小游戏java课程设计——使用 Java Swing 编写的...
用java swing 实现的pdf阅读器 很强大 喜欢。。。