当前位置 : 首页> Java教程 > Java程序的滚动条

Java程序的滚动条

时间:2016-09-02 15:03   已访问:221次

滚动条,相信大家都不陌生吧,只要上网就可以看到网页的右侧有个上下的滚动样式,通过这个就可以控制网页了。今天我们要介绍的就是如何制作滚动条,如何才可以学会这方面的知识点。

什么是滚动条

滚动条(JScrollBar)也称为滑块,用来表示一个相对值,该值代表指定范围内的一个整数。例如,用Word编辑文档时,编辑窗右边的滑块对应当前编辑位置在整个文档中的相对位置,可以通过移动选择新的编辑位置。在Swing中,用JScrollBar类实现和管理可调界面。JScrollBar类常用的构造方法是:

    JScrollBar(int dir,int init,int width,int low,int high)

其中,dir表示滚动条的方向。JScrollBar类定义了两个常量,JScrollBar.VERTICAL表示垂直滚动条;JScrollBar.HORIZONTAL表示水平滚动条。init表示滚动条的初始值,该值确定滚动条滑块开始时的位置;width是滚动条滑块的宽度;最后两个参数指定滚动的下界和上界。注意滑块的宽度可能影响滚动条可得到的实际的最大值。例如,滚动条的范围是0至255,滑块的宽度是10,并利用滑块的左端或顶端来确定它的实际位置。那么滚动条可以达到的最大值是指定最大值减去滑块的宽度。所以滚动条的值不会超过245。

JScrollBar类其他常用方法是:

setUnitIncrement():设置增量,即单位像素的增值;

getUnitIncrement():获取增量;

setBlockIncrement():设置滑块增量,即滑块的幅度;

getBlockIncrement():获取滑块增量;

setMaxinum():设置最大值;

getMaxinum():获取最大值;

setMininum():设置最小值;

getMininum():获取最小值;

setValue():设置新值;

getValue():获取当前值。

JScrollBar类对象的事件类型是AdjustmentEvent;类要实现的接口是AdjustmentListener,接口方法是adjustmentValueChanged();注册监视器的方法是addAdjustmentListener();获取事件源对象的方法是getAdjustable().

【例11-17】应用程序将滚动条作为值的选择。容器有一个开/关滚动条的按钮,一个文本框和一个滚动条,当滚动条处于打开状态时,移动滚动条上的滑块,滑块的对应值显示在文本框中。如果滚动条处于关闭状态 ,则移动滚动条上的滑块,滑块的对应值在文本框中不显示。

样式一:

package com.test;

import java.awt.*;

import javax.swing.*;

public class Test extends JFrame {

 JMenuBar jb;

 JTextArea ja;

 JScrollPane jsp;

 public void setImage() {

  jb = new JMenuBar();

  this.setJMenuBar(jb);

  ja = new JTextArea();

  jsp = new JScrollPane(ja);

  this.setSize(600, 400);

  this.setLayout(new BorderLayout());

  this.add(jsp);

  this.setVisible(true);

 }

 

 public static void main(String[] args) {

  Test a = new Test();

  a.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  a.setImage();

 }

}

样式二:

package test;

import java.awt.Container;

import java.awt.Font;

import java.io.File;

import java.util.EmptyStackException;

import java.util.Iterator;

import java.util.Stack;

import javax.swing.Icon;

import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JSpinner;

import javax.swing.JSplitPane;

import javax.swing.JTabbedPane;

public class ImplementsDemo {

public static void main(String[] args) throws EmptyStackException{

JFrame f=new JFrame("Welcome To Earth!");

Container cont=f.getContentPane();

String picPath="c:"+File.separator+"Users"+File.separator+"Sunboy"+File.separator+"desktop"+File.separator+"课表.png";

Icon ico=new ImageIcon(picPath);

JPanel pan=new JPanel();

JLabel lab=new JLabel(ico);

pan.add(lab);

JScrollPane scr1=new JScrollPane(pan, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);

cont.add(scr1);

f.setSize(1280,720);

f.setLocation(300, 200);

f.setVisible(true);

 

}

}

MyScrollBar类定义的方法getPreferedSize()也是Component类中定义的方法,界面组件通过覆盖定义该方法确定界面组件的大小。当布局字处理器在安排组件布局时,就会调用该方法来确定组件的大小。这个方法返回一个Dimension类型的对象,Dimension对象含两个整数,分别为组件的宽和高。在上述程序中,为滚动条指派的区域的宽是125像素,高是20个像素。任何组件都可用上述方法来指定大小。


推荐内容