java jtextfield

作者:原创时间:2022-04-02
文档

java jtextfield是什么,让我们一起了解一下?

JTextField类的对象是一个文本组件,允许编辑单行文本,继承了JTextComponent类,JTextField与java.awt.TextField具有源代码兼容性,把字段文本用作针对ActionEvent的命令字符串。

JTextField中,我们需要设置它的输入长度,但是JAVA中没有给出具体的方法,怎么办?

对于JTextField的对象,给它增加一个事件监听,每当从键盘敲入一个字符时,就对它的长度进行判断,如果长度达到某一条件,则无法继续输入(通过consume方法实现)。

public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
String s = textField.getText();
if(s.length() >= 8) e.consume();
}

先来介绍一下这个consume方法,该方法是用来销毁实例的。在上述代码中,当s的长度大于等于8时,就销毁多出来的字符了,从而达到了限制输入长度的效果。

当按下一个按键时,首先调用的是keyPressed方法,然后再将键入的字符显示到JTextField文本框中,最后再调用keyReleased方法。

也就是说,如果我在keyPressed中调用consume方法,它就无法做到限制字符输入长度的效果,因为文本框中的字符是在我进行完keyPressed方法后显示的。

同样的,为什么在keyRelease中也不行呢?因为在调用keyPressed后,字符就立刻显示到了文本框中,但是此时还没有调用keyReleased方法,所以同样达不到通过consume方法来限制输入长度的效果。

拓展一下,它的构造方法如下:

描述JTextField()

创建一个新的TextField:JTextField(String text)

创建一个使用指定文本初始化的新TextField:JTextField(String text, int columns)

创建一个新的TextField,并使用指定的文本和列进行初始化。

JTextField(int columns)用指定的列数创建一个新的空TextField。

以上就是小编今天的分享了,希望可以帮助到大家。

显示全文
java jvm java jxl java kafka java keystore java kmeans java kudu java lamada java leveldb java linklist java linq java list.add java list.contains java locale java localtime java logging java logstash java main java malloc java mapping java math.ceil java jtable java jta java jstat java jstack java jsonp java jsonfield java jquery java jps java joptionpane java jndi java jmh java jmeter java jit java jetty java jep 计算机管理怎么打开 excel怎么排序 两个excel如何独立显示 微信分组怎么删除 朋友圈怎么转发