JTextArea:文本域组件

文本域与文本框的最大区别就是文本域允许用户输入多行文本信息。在 Swing 中使用 JTextArea 类实现一个文本域,其常用构造方法如下。

  • JTextArea():创建一个默认的文本域。
  • JTextArea(int rows,int columns):创建一个具有指定行数和列数的文本域。
  • JTextArea(String text):创建一个包含指定文本的文本域。
  • JTextArea(String text,int rows,int columns):创建一个既包含指定文本,又包含指定行数和列数的多行文本域。


JTextArea 类的常用方法如表 1 所示。

表1 JTextArea类的常用方法
方法名称说明
void append(String str)将字符串 str 添加到文本域的最后位置
void setColumns(int columns)设置文本域的行数
void setRows(int rows)设置文本域的列数
int getColumns()获取文本域的行数
void setLineWrap(boolean wrap)设置文本域的换行策略
int getRows()获取文本域的列数
void insert(String str,int position)插入指定的字符串到文本域的指定位置
void replaceRange(String str,int start,int end)将指定的开始位 start 与结束位 end 之间的字符串用指定的字符串 str 取代

例 1

使用 JFrame 组件创建一个窗口,再向窗口中添加一个文本域,并将文本域中的文本设置为自动换行,允许显示滚动条。具体代码如下:

package ch17;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class JTextAreaDemo
{
    public static void main(String[] agrs)
    {
        JFrame frame=new JFrame("Java文本域组件示例");    //创建Frame窗口
        JPanel jp=new JPanel();    //创建一个JPanel对象
        JTextArea jta=new JTextArea("请输入内容",7,30);
        jta.setLineWrap(true);    //设置文本域中的文本为自动换行
        jta.setForeground(Color.BLACK);    //设置组件的背景色
        jta.setFont(new Font("楷体",Font.BOLD,16));    //修改字体样式
        jta.setBackground(Color.YELLOW);    //设置按钮背景色
        JScrollPane jsp=new JScrollPane(jta);    //将文本域放入滚动窗口
        Dimension size=jta.getPreferredSize();    //获得文本域的首选大小
        jsp.setBounds(110,90,size.width,size.height);
        jp.add(jsp);    //将JScrollPane添加到JPanel容器中
        frame.add(jp);    //将JPanel容器添加到JFrame容器中
        frame.setBackground(Color.LIGHT_GRAY);
        frame.setSize(400,200);    //设置JFrame容器的大小
        frame.setVisible(true);
    }
}

在上述代码中将 JTextArea 文本域放入滚动窗口中,并通过 getPreferredSize() 方法获得文本域的显示大小。将滚动窗口的大小设置成与文本域大小相同,再将滚动窗口添加到 JPanel 面板中。

运行程序,在文本域中可以输入多行内容,当内容超出文本域高度时会显示滚动条,如图 1 所示。

文本域运行效果

文本域运行效果

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不努力谁会可怜你?

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值