JAVA Swing 图形化编程(二)文本输入框JTextField/JTextArea

Java Swing提供了两种常用的文本输入方式,分别是文本框(JTextField)与文本区(JTextArea),这两种方法有相似点也有不同点,在此具体分析,做个笔记。

一、JTextField

常用的构造方法有:

JTextField() 构造一个新的 TextField。
JTextField(int columns) 构造一个具有指定列数的新的空 TextField。
JTextField(String text) 构造一个用指定文本初始化的新TextField。
JTextField(String text, int columns) 构造一个用指定文本和列初始化的新TextField。

常用的成员方法有;

SetText(string) 设置文本域中的文本值
GetText()返回文本域中的输入文本值
getColumns()返回文本域的列数

如果遇到只能在文本框输入自己想控制的格式,如:只能输入数字,字母等需求,有两种实现方法,一种是在用户提交时判断输入的内容是否符合要求,二种是在用户输入的同时对内容做判断。比如在输入时只允许用户输入数字,代码如下:

public class VoteElectKeyListener implements KeyListener {

    public void keyTyped(KeyEvent e) {
        int keyChar=e.getKeyChar();
        if (keyChar>=KeyEvent.VK_0 && keyChar<=KeyEvent.VK_9) {
        } else {
            e.consume();  
        }
    }

JTextField 有一个特殊的子类——JPasswordField ,它们的主要区别是 JPasswordField 不会显示出用户输入的东西,而只会显示出程序员设定的一个固定字符,比如 ‘*’。这常常被用于密码输入框。

二、JTextArea

常用的构造方法有:

JTextArea() 构造新的 TextArea。
JTextArea(String  text) 构造显示指定文本的新的 TextArea。
JTextArea(int rows, int columns)  构造具有指定行数和列数的新的空 TextArea。
JTextArea(String  text, int rows, int columns)  构造具有指定文本、行数和列数的新的 TextArea。

常用的成员方法有:

void append(String str)
将给定文本追加到文档结尾。
void SetText(string) 设置文本域中的文本值
String GetText()返回文本域中的输入文本值
protected Document createDefaultModel()
int getColumns()
返回 TextArea 中的列数。
int getRows()
返回 TextArea 中的行数。

在使用时,有两个地方比较不人性化,第一是如果采用默认方式,输入的文本将集中在一行,第二就是如果太长的文本,默认没有提供滚动条。但是可以使用成员方法实现,如下所示:

JTextArea text;
text = new JTextArea("hello", 20, 43);
text.setLineWrap(true);        //激活自动换行功能 
text.setWrapStyleWord(true);  // 激活断行不断字功能
 JTextArea text;
 JPanel panel1;
 panel1= new JPanel();
 panel1.add(new JScrollPane(text));//加入滚动条
  • 0
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值