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


猜你喜欢
- 背景最近再做一个需求,就是对站点的一些事件进行埋点,说白了就是记录用户的访问行为。那么这些数据怎么保存呢,人家点一下保存一下?显然不合适,肯
- 抛出问题:Long a = 4l;Long b = 4l;a == b //trueLong a = 128l;Long b = 128l;
- 好久没有写过文章,最近发现直播特别的火,很多app都集成了直播的功能,发现有些直播是带有弹幕的,效果还不错,今天心血来潮,特地写了篇制作弹幕
- 代码如下import java.util.concurrent.Callable;import java.util.concurrent.E
- 一. 什么是蓝牙(Bluetooth)?1.1 BuleTooth是目前使用最广泛的无线通信协议1.2 主要针对短距
- 1、创建在class块外面:class Test{}/** 我是main入口函数 **/fun main(args: Array<St
- C++编写的一个图书管理系统,供大家参考,具体内容如下2018大一的课设,搬到这纪念一下,共1200多行代码为图书管理人员编写一个图书管理系
- 生成随机数在现实中我们经常用到随机数,可怎么实现呢,且听小乔慢慢道来。在C语言中,我们一般使用 <stdlib.h> 头文件中的
- 1,创建存储过程create proc Pro_Login(@UserName nvarchar(10),@PassWord nvarcha
- 一、基本概念JavaWeb里面的listener是通过观察者设计模式进行实现的。对于观察者模式,这里不做过多介绍,大概讲一下什么意思。观察者
- 本文实例为大家分享了C# picturebox实现图像拖拽和缩放的具体代码,供大家参考,具体内容如下1.核心步骤:①新建Point类型全局变
- 思维导图一、为什么要学习 DialogFragment你还在用 Dialog 吗?你还在经常烦恼于屏幕翻转的时候,Dialog 的各种奇葩情
- XML中的扫描过程<?xml version="1.0" encoding="utf-8" ?
- 本文实例讲述了Spring使用ClassPathResource加载xml资源。分享给大家供大家参考,具体如下:一 代码package le
- 本文实例总结了Android开发中Toast显示消息的方法。分享给大家供大家参考,具体如下:Android中提供一种简单的Toast消息提示
- Java面向对象之猜拳游戏,供大家参考,具体内容如下1 要求与电脑进行猜拳并记录分数。2 Computer.java 源代码(电脑自动随机出
- 前言此前部门内的一个线上系统上线后内存一路飙高、一段时间后直接占满。协助开发人员去分析定位,发现内存中某个Object的量远远超出了预期的范
- 在Android中,在非主线程中更新UI控件是不安全的,app在运行时会直接Crash,所以当我们需要在非主线程中更新UI控件,那么就需要用
- 目录Mybatis简介Mybatis开发步骤:Mybatis的映射文件概述Mybatis的增删改查操作MyBatis的核心配置文件概述MyB
- 1. 子类的构造函数如果要引用super的话,必须把super放在函数的首位class Base {Base() {System.out.p