Swing常用组件之多行文本区JTextArea
作者:希文go 发布时间:2023-11-08 14:16:49
单行文本的输入存在严重的缺陷,也不适合实际的运用,本节通过一个无功能的记事本来介绍可以进行多行输入的JTextArea:
JTextArea():创建一个内容为空的文本区
JTextArea(Document doc) :创建具有指定文档的文本区
JTextArea(Document doc,String text,int rows,int columns) :创建具有指定文档,行数,列数的文本区
JTextArea(int rows,int columns) :指定行数,列数的文本区
JTextArea(String text) :指定文本内容的文本区
JTextArea(String text,int rows,int columns) :指定文本内容和行数,列数的文本区
JTextArea 的一些常用方法:
public void append(String str) :将给定文本追加到文档结尾。
boolean getLineWrap() :获取文本区的换行策略。
public int getRows() :返回 TextArea 中的行数。
public boolean getWrapStyleWord() :获取换行方式(如果文本区要换行)。
public void setWrapStyleWord(boolean word) :设置换行方式(如果文本区要换行)
public void insert(String str, int pos) :将指定文本插入指定位置。
public void setColumns(int columns) :设置此 TextArea 中的列数。
public void setFont(Font f) :设置当前字体。
public void setLineWrap(boolean wrap) :设置文本区的换行策略。
public void setRows(int rows) :设置此 TextArea 的行数。
public void setEditable(boolean b):设置文本区的编辑状态。参数为true表示可编辑状态,为false则表示不可编辑状态
将JTextArea放入JScrollPane中,这样就能利用滚动的效果看到输入超过JTextArea高度的文字.
JScrollPane
JscrollPane() :创建一个滚动条,水平和垂直都可以显示
JscrollPane(Component view) : 创建一个显示指定组件内容的滚动条,当组件的内容超过视图大小就会显示水平和垂直的的滚动条
JscrollPane(Component view,int vsbPolicy,int hsbPolicy) :创建一个显示指定组件内容的滚动条,且有指定滚动策略的滚动条
JscrollPane(int vsbPolicy,int hsbPolicy) :创建一个有指定滚动策略的滚动条
JscrollPane类的构造方法中使用的滚动条策略主要有以下几种:
public int getHorizontalScrollBarPolicy (): 获取水平滚动策略值
public int getVerticalScrollBarPolicy() :获取垂直滚动策略值
public void getHorizontalScrollBarPolicy (): 设置水平滚动策略值
public void getVerticalScrollBarPolicy() :设置垂直滚动策略值
public boolean isWheelScrollingEnabled() : 设置是否进行滚动以响应鼠标滚轮
public void setViewportView(Conponent view) :设置滚动条中的滚动组件
public void setWheelScrollingEnabled(boolean handleWheel):启动/禁用对鼠标滚轮滚动的移动响应
代码实例:
package ch10;
import java.awt.event.*;
import javax.swing.*;
public class NoteTextArea extends JFrame implements ActionListener
{
private JPanel jp = new JPanel ();
JButton jb1 = new JButton("点我自动换行");
JButton jb2 = new JButton("点我不换行");
private JTextArea jt = new JTextArea();
private JScrollPane js = new JScrollPane(jt);
public NoteTextArea()
{
jp.setLayout(null);
jb1.setBounds(40,40,180,20);
jb2.setBounds(280,40,180,20);
jp.add(jb1);
jp.add(jb2);
jb1.addActionListener(this);
jb2.addActionListener(this);
js.setBounds(40,80,420,100);
jp.add(js);
jt.setLineWrap(false);
for(int i=0;i<30;i++)
{
jt.append("自动换行,不换行!");
}
this.add(jp);
this.setBounds(80,80,300,300);
this.setVisible(true);
this.setTitle("记事本多行文本区");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent a)
{
if(a.getSource()==jb1)
{
jt.setLineWrap(true);
}
else if(a.getSource()==jb2)
{
jt.setLineWrap(false);
}
}
public static void main(String args[])
{
new NoteTextArea();
}
}


猜你喜欢
- 加载图片openCv有一个名imread的简单函数,用于从文件中读取图像imread 函数位于Imgcodecs类的同名包中。加载图片代码i
- 本文实例为大家分享了android view实现横向滑动选择的具体代码,供大家参考,具体内容如下做文字编辑,从网上找来的。Horizonta
- 在使用springmvc的时候,后台@RequestBody接受的是一个json格式的字符串,一定是一个字符串。我们可以通过@Request
- 本文实例讲述了C#中文随机数实现方法。分享给大家供大家参考。具体如下:/// <summary>/// 随机中文码/// <
- UI编程通常都会伴随事件处理,Android也不例外,它提供了两种方式的事件处理:基于回调的事件处理和基于 * 的事件处理。对于基于 * 的
- 本文实例讲述了C#创建临时文件的方法。分享给大家供大家参考。具体分析如下:C#可以通过Path.GetTempFileName获得一个临时文
- 介绍:上篇给大家介绍了ssm多模块项目的搭建,在搭建过程中spring整合springmvc和mybatis时会有很多的东西需要我们进行配置
- 我们先回顾下,什么是指针?什么是常量?指针是一种特殊的变量,它里面存储的内容是内存地址。常量是指其里面存储的内容不能发生改变的量。明白了这两
- 本篇文章主要内容来自于Android Doc,我翻译之后又做了些加工,英文好的朋友也可以直接去读原文。http://developer.an
- package com.jiucool.www.struts.action; import java.io.B
- C# 的类型系统可分为两种类型,一是值类型,一是引用类型,这个每个C#程序员都了解。还有托管堆,栈,ref,out等等概念也是每个C#程序员
- 本文实例讲述了C++联合体union用法。分享给大家供大家参考。具体如下:我们应该按照C中的convention去使用union,这是我这篇
- 本文实例为大家分享了OpenGL绘制贝塞尔曲线的具体代码,供大家参考,具体内容如下最终效果图:通过3个点形成一条贝塞尔曲线1. 鼠标问题在使
- 本文实例为大家分享了Android Studio实现弹窗设置的具体代码,供大家参考,具体内容如下弹窗能很好的显示当前处理事情的状态,那么这里
- 一.服务层package com.demo.websocket;import java.io.IOException;import java
- 在学习MyBatis过程中想实现模糊查询,可惜失败了。后来上百度上查了一下,算是解决了。记录一下MyBatis实现模糊查询的几种方式。 数据
- 本文实例讲述了Android编程使用pull方式解析xml格式文件的方法。分享给大家供大家参考,具体如下:上次已经说过使用Android s
- 在开源中国看到的操作ini文件的,写的还不看,留着以后用using System;using System.IO;using System.
- Java中Collections.sort()的使用在日常开发中,很多时候都需要对一些数据进行排序的操作。然而那些数据一般都是放在一个集合中
- 做一个五子棋练练手,没什么特别的,再复习一下自定义View的知识,onMeasure,MeasureSpec , onDraw以及OnTou