swing编程之滚动面板:JScrollPane

概述

官方的API文档:javax.swing.JScrollPane
JScrollPane,滚动面板。JScrollPane 支持水平和垂直滚动视图。文本区域、表格等需要显示较多数据而空间又有限时,通常使用 JScrollPane 进行包裹以实现滚动显示。JScrollPane 内包含一个视口(ViewPort),表示 JScrollPane 的显示区域。视口内包含一个需要滚动显示的组件,称为视图。

JScrollPane 常用构造方法:

/**
 * 参数说明:
 *     view: 需要滚动显示的视图组件
 *     vsbPolicy: 垂直滚动条的显示策略
 *     hsbPolicy: 水平滚动条的显示策略
 */
JScrollPane()

JScrollPane(Component view)

JScrollPane(Component view, int vsbPolicy, int hsbPolicy)

JScrollPane(int vsbPolicy, int hsbPolicy)

滚动条的显示策略的取值:

/*
 * 垂直滚动条(vsbPolicy)
 */
ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED    // 需要时显示(默认)
ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER        // 从不显示
ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS       // 总是显示

/*
 * 水平滚动条(hsbPolicy)
 */
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED  // 需要时显示(默认)
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER      // 从不显示
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS     // 总是显示

JScrollPane 常用方法:

// 设置滚动显示视图内容组件
void setViewportView(Component view)

// 设置垂直滚动条的显示策略
void setVerticalScrollBarPolicy(int policy)

// 设置水平滚动条的显示策略
void setHorizontalScrollBarPolicy(int policy)

// 是否响应鼠标滚动事件,默认响应
void setWheelScrollingEnabled(boolean handleWheel)
  1. 代码实例
package com.xiets.swing;

import javax.swing.*;
import java.awt.*;

public class Main {

    public static void main(String[] args) {
        JFrame jf = new JFrame("测试窗口");
        jf.setSize(250, 250);
        jf.setLocationRelativeTo(null);
        jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

        // 创建文本区域组件
        JTextArea textArea = new JTextArea();
        textArea.setLineWrap(true);                         // 自动换行
        textArea.setFont(new Font(null, Font.PLAIN, 18));   // 设置字体

        // 创建滚动面板, 指定滚动显示的视图组件(textArea), 垂直滚动条一直显示, 水平滚动条从不显示
        JScrollPane scrollPane = new JScrollPane(
                textArea,
                ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS,
                ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER
        );

        jf.setContentPane(scrollPane);
        jf.setVisible(true);
    }

}

结果展示:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值