GUI学习之文本域

JScrollPane,滚动面板。JScrollPane 支持水平和垂直滚动视图。文本区域、表格等需要显示较多数据而空间又有限时,通常使用 JScrollPane 进行包裹以实现滚动显示。

JScrollPane 内包含一个视口(ViewPort),表示 JScrollPane 的显示区域。视口内包含一个需要滚动显示的组件,称为视图。

JTextArea txaDisplay = new JTextArea(); 
JScrollPane scroll = new JScrollPane(txaDisplay); 
//把定义的JTextArea放到JScrollPane里面去 

//分别设置水平和垂直滚动条自动出现 
scroll.setHorizontalScrollBarPolicy( 
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); 
scroll.setVerticalScrollBarPolicy( 
JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED); 

//分别设置水平和垂直滚动条总是出现 
scroll.setHorizontalScrollBarPolicy( 
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); 
scroll.setVerticalScrollBarPolicy( 
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); 

//分别设置水平和垂直滚动条总是隐藏scroll.setHorizontalScrollBarPolicy( 
JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); 
scroll.setVerticalScrollBarPolicy( 
JScrollPane.VERTICAL_SCROLLBAR_NEVER); 

实例

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

}
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务