Java Swing JTextArea文本区域的实现示例
作者:xietansheng 发布时间:2023-10-30 13:40:28
标签:Swing,JTextArea,文本区域
1. 概述
官方JavaDocsApi: javax.swing.JTextArea
JTextArea,文本区域。JTextArea 用来编辑多行的文本。JTextArea 除了允许多行编辑外,其他基本用法和 JTextField 基本一致。
JTextArea 常用构造方法:
/**
* 参数说明:
* text: 默认显示的文本
* rows: 默认可见的行数
* columns: 默认可见的列数
*
* 默认由 rows 和 columns 决定首选大小
*/
JTextArea()
JTextArea(String text)
JTextArea(int rows, int columns)
JTextArea(String text, int rows, int columns)
JTextArea 常用方法:
// 是否自动换行,默认为 false
void setLineWrap(boolean wrap)
// 设置自动换行方式。如果为 true,则将在单词边界(空白)处换行; 如果为 false,则将在字符边界处换行。默认为 false。
void setWrapStyleWord(boolean word)
// 获取文本框中的文本
String getText()
// 追加文本到文档末尾
void append(String str)
// 替换部分文本
void replaceRange(String str, int start, int end)
// 设置文本框的 文本、字体 和 字体颜色
void setText(String text)
void setFont(Font font)
void setForeground(Color fg)
// 获取内容的行数(以换行符计算,满行自动换下一行不算增加行数)
int getLineCount()
// 获取指定行(行数从0开始)的行尾(包括换行符)在全文中的偏移量
int getLineEndOffset(int line)
// 获取指定偏移量所在的行数(行数从0开始)
int getLineOfOffset(int offset)
// 设置颜色,分别为: 光标颜色、呈现选中部分的背景颜色、选中部分文本的颜色、不可用时文本的颜色
void setCaretColor(Color c)
void setSelectionColor(Color c)
void setSelectedTextColor(Color c)
void setDisabledTextColor(Color c)
// 设置文本框是否可编辑
void setEditable(boolean b)
/* 下面方法定义在 java.awt.Component 基类中 */
// 判断组件当前是否拥有焦点
boolean isFocusOwner()
// 设置组件是否可用
void setEnabled(boolean b)
JTextArea 复制粘贴相关方法:
// 设置光标开始位置,selectionStart >= 0
void setSelectionStart(int selectionStart)
// 设置光标结束位置,selectionEnd >= selectionStart
void setSelectionEnd(int selectionEnd)
// 复制选中部分文本
void copy()
// 剪切选中部分文本
void cut()
// 粘贴文本到文本框
void paste()
JTextArea 常用 * :
// 添加焦点事件 *
void addFocusListener(FocusListener listener)
// 添加文本框内的 文本改变 *
textField.getDocument().addDocumentListener(DocumentListener listener)
// 添加按键 *
void addKeyListener(KeyListener listener)
PS: JTextArea 在使用时通常把它放到 JScrollPane 容器中来使用,以此来实现内容增多时可水平/垂直滚动的效果。
2. 代码实例
package com.xiets.swing;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
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);
JPanel panel = new JPanel();
// 创建一个 5 行 10 列的文本区域
final JTextArea textArea = new JTextArea(5, 10);
// 设置自动换行
textArea.setLineWrap(true);
// 添加到内容面板
panel.add(textArea);
// 创建一个提交按钮,点击按钮获取输入文本
JButton btn = new JButton("提交");
btn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("提交: " + textArea.getText());
}
});
panel.add(btn);
jf.setContentPane(panel);
jf.setVisible(true);
}
}
结果展示:
输入内容,点击按钮,查看控制台输出。
来源:https://blog.csdn.net/xietansheng/article/details/74363663
0
投稿
猜你喜欢
- 实例如下:import java.lang.reflect.Field;import java.lang.reflect.Invocatio
- 年纪大了,以前做过的东西过阵子还是会忘,今天使用jenkins持续集成工具时用到了eclipse上传新maven工程至svn,上传完毕后改了
- 已知字符串“aabbbcddddeeffffghijklmnopqrst”编程找出出现最多的字符和次数,要求时间复杂度小于O(n^2)/**
- 本文实例为大家分享了Struts2框架拦截 器实例的示例代码,供大家参考,具体内容如下在看拦截 器的小例子的前我们先来看看sturts2的原
- 图像滤波在opencv中可以有多种实现形式自定义滤波如使用3×3的掩模:对图像进行处理.使用函数filter2D()实现#include&l
- 引出泛型我们通过如下的示例,引出为什么泛型的概念。public class Test {public static void main(St
- 详解Java注解的实现与使用方法Java注解是java5版本发布的,其作用就是节省配置文件,增强代码可读性。在如今各种框架及开发中非常常见,
- 本文实例为大家分享了java使用poi导出图片到Excel的具体代码,供大家参考,具体内容如下代码实现Controller/** * 导出志
- 最近学习Spring,一直不太明白Srping的切面编程中的的argNames的含义,经过学习研究后,终于明白,分享一下需要监控的类:pac
- 被kafka-client和springkafka版本坑上周刚刚欢天喜地的在linux上部了kafka,这周打算用spring-boot框架
- 过年微信红包很火,最近有个项目也要做抢红包,于是写了个红包的生成算法。红包生成算法的需求预先生成所有的红包还是一个请求随机生成一个红包简单来
- 在阻塞队里中,除了对元素进行增加和删除外,我们可以把元素的删除做一个延迟的处理,即使用DelayQueue的方法。本文就来和大家聊聊Java
- 前言在网络通信中,通信传输数据容易被截取或篡改,如果在传输用户隐私数据过程中,被不法分子截取或篡改,就可能导致用户受到伤害,比如被诈 骗,所
- 一、堆排序1、什么是堆排序(1)堆排序:堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构
- 在前面一篇Java Comparable和Comparator对比详解中,对于java中的排序方法进行比较和具体剖析,主要是针对 Compa
- 本文实例为大家分享了Java实现颜色渐变效果的具体代码,供大家参考,具体内容如下RGB色彩,在自然界中肉眼所能看到的任何色彩都可以由红(R)
- 表述在一次服务更新后发现每天凌晨0点3秒服务准时挂,开始的时候认为是maven依赖中存在system.exit(3)类似这样的代码,但是我想
- 1 简介Solace是一个强大的实时性的事件驱动消息队列。本文将介绍如何在Spring中使用,虽然代码使用的是Spring Boot,但并没
- 本文实例讲述了Android+SQLite数据库实现的生词记事本功能。分享给大家供大家参考,具体如下:主activity命名为Dict:代码
- 最近要做一个网站,要求实现验证码程序,经过不断调试,终于成功实现功能。一、验证码生成类生成验证码的话需要用到java的Graphics类库,