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