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

}

结果展示:

输入内容,点击按钮,查看控制台输出。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • swing jtextArea滚动条和文字缩放效果

    本文实例为大家分享了swing jtextArea滚动条和文字缩放的具体代码,供大家参考,具体内容如下 当加了滚动条的jtextArea添加滚动事件比如缩放ctrl+wheel时,添加的滚动事件和滚动缩放事件会重合,如何让这两个事件同时发生而不会相互干扰呢,也就是滚动条放大缩小时文本不会发生上下滚动. import javax.swing.*; import java.awt.*; import java.awt.event.MouseAdapter; import java.awt.event

  • Java Swing中的文本区(JTextArea)实现换行保存到文件的几个方法

    1.如果是采用流的方式一行一行写到文件中,可以把FileWriter换为PrintWriter,然后调用PrintWriter的println()方法. 2. 复制代码 代码如下: byte fileContent[] = getJTextArea().getText().replaceAll("\n", "\r\n").getBytes();//此处主要是为了在Windows中实现换行操作 3. 复制代码 代码如下: FileWriter fw=new FileW

  • Java Swing中的文本框(JTextField)与文本区(JTextArea)使用实例

    一:JTextField的(文本框)使用: JTextField 是一个轻量级组件,它允许编辑单行文本. 1.JTextField的常用构造方法: JTextField() 构造一个新的 TextField. JTextField(int columns) 构造一个具有指定列数的新的空 TextField. JTextField(String text) 构造一个用指定文本初始化的新TextField. JTextField(String text, int columns) 构造一个用指定文本

  • Swing常用组件之多行文本区JTextArea

    单行文本的输入存在严重的缺陷,也不适合实际的运用,本节通过一个无功能的记事本来介绍可以进行多行输入的JTextArea: JTextArea():创建一个内容为空的文本区 JTextArea(Document doc)  :创建具有指定文档的文本区 JTextArea(Document doc,String text,int rows,int columns) :创建具有指定文档,行数,列数的文本区 JTextArea(int rows,int columns)   :指定行数,列数的文本区 J

  • Java Swing JTextArea文本区域的实现示例

    1. 概述 官方JavaDocsApi: javax.swing.JTextArea JTextArea,文本区域.JTextArea 用来编辑多行的文本.JTextArea 除了允许多行编辑外,其他基本用法和 JTextField 基本一致. JTextArea 常用构造方法: /** * 参数说明: * text: 默认显示的文本 * rows: 默认可见的行数 * columns: 默认可见的列数 * * 默认由 rows 和 columns 决定首选大小 */ JTextArea() J

  • Java Swing JTextField文本框的代码示例

    1. 概述 官方JavaDocsApi: javax.swing.JTextField JTextField,文本框.JTextField 用来编辑单行的文本. JTextField 常用构造方法: /* * 参数说明: * text: 默认显示的文本 * columns: 用来计算首选宽度的列数:如果列设置为 0,则首选宽度将是组件实现的自然结果 */ JTextField() JTextField(String text) JTextField(int columns) JTextField

  • Java Swing实现的定制TextField功能示例

    本文实例讲述了Java Swing实现的定制TextField功能.分享给大家供大家参考,具体如下: 先来看看运行效果: 具体代码如下: package themedemo; import java.awt.BasicStroke; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Graphics2D; import java.awt.GridLayout; import java.awt.Insets;

  • java swing中实现拖拽功能示例

    java实现拖拽示例 Swing中实现拖拽功能,代码很简单,都有注释,自己看,运行效果如下图: 复制代码 代码如下: package com; import java.awt.*;import java.awt.datatransfer.DataFlavor;import java.awt.dnd.DnDConstants;import java.awt.dnd.DropTarget;import java.awt.dnd.DropTargetAdapter;import java.awt.dn

  • Java Swing组件单选框JRadioButton用法示例

    本文实例讲述了Java Swing组件单选框JRadioButton用法.分享给大家供大家参考,具体如下: JRadioButton是Swing中的单选框.所谓单选框是指,在同一个组内虽然有多个单选框存在,然而同一时刻只能有一个单选框处于选中状态.它就像收音机的按钮,按下一个时此前被按下的会自动弹起,故因此得名.因此,在添加JRadioButton控件时,要记得将它们添加到同一个ButtonGroup中. JRadioButton的常用方法如下图所示: 可以为它添加ActionListener对

  • Java Swing组件实现进度监视功能示例

    本文实例讲述了Java Swing组件实现进度监视功能.分享给大家供大家参考,具体如下: 实例一: import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ProgressMonitor; import javax.swing.Timer; public class TestProgressMonitor { Timer timer; public void init(

  • Java Swing JProgressBar进度条的实现示例

    1. 概述 官方JavaDocsApi: javax.swing.JProgressBar JProgressBar,进度条. 以可视化形式显示某些任务进度的组件. 进度条中心可显示进度百分比的文本表示形式. 当一个任务的进度长度未知时,可将进度条设置为不确定模式.不确定模式的进度条持续地显示动画来表示正进行的操作.当 可以确定任务长度和进度量时,则可设置进度条的最大最小值,以及更新进度条的进度值,将其切换回确定模式. JProgressBar 常用构造方法: /** * 构造方法中的参数含义:

  • Java Swing JPasswordField密码框的实现示例

    1. 概述 官方JavaDocsApi: javax.swing.JPasswordField JPasswordField,密码框.JPasswordField 继承自 JTextField,只是显示输入的内容时用特定的字符替换显示(例如 * 或 ●),用法和 JTextField 基本一致. JPasswordField 常用构造方法: /* * 参数说明: * text: 默认显示的文本 * columns: 用来计算首选宽度的列数:如果列设置为 0,则首选宽度将是组件实现的自然结果 */

  • java实现查找文本内容替换功能示例

    思路: 先看视图层,要有一个JButton控件用来选择文件,一个JTextField控件显示选中文件的绝对路径,一个JLabel控件提示用户输入搜索文本,一个JLabel控件提示用户输入替换后的文本,一个JTextField标签供用户输入要搜索的文本,一个JTextField标签供用户输入替换后的文本,一个JButton控件执行替换,一个JButton控件用来打开修改后的文件.对于选择文件按钮,使用JButton类的addActionListener()方法为其绑定事件,在该事件中定义actio

  • Java Swing null绝对布局的实现示例

    1. 概述 官方JavaDocsApi: java.awt.Component,java.awt.Container null,绝对布局.绝对布局没有特定一个布局管理器类来表示,给容器的布局管理器设置为 null,就表示使用绝对布局,即通过设置组件的坐标和宽高来布置组件. 绝对布局需要明确指定每一个组件的坐标和宽高,否则不显示. 对于使用其他布局时给组件设置坐标和宽高,一般会遵循以下两点: 使用其他布局时,如果在窗口显示之后,再添加新组件,则该组件也会被当做绝对布局对待(即需要手动指定坐标和宽高

随机推荐