8.3 文本输入
在java中,能够用于文本输入的组件包括JTextField(文本框)、JTextArea(文本区)以及 JPasswordField(密码框),JLabel(标签)不支持文本输入,但可以容纳文本。
8.3.1 JTextFileld 文本框
JTextField文本框是一个允许编辑单行文本的swing组件,JTextField提供了多个构造方法用于创建JTextField对象。具体见下表8-3。
表8-3 JTextField构造方法
构造方法 | 说明 |
public JTextField() | 构造一个新的 TextField。初始字符串为 null,列数为 0 |
public JTextField(String text) | 构造一个用指定文本初始化的新TextField。列数为 0 |
public JTextField(int columns) | 构造一个具有指定列数的新的空TextField。初始字符串为 null。 |
public JTextField (String text,int columns) | 构造一个用指定文本和列初始化的新 TextField。text:文本值,columns:列数 |
JTextField有两个重要的方法setText(String t)和getText()分别用于设置文本框的显示文本和获取当前文本框的文本。不过这两个方法都不是JTextField本身提供的方法,而是其父类JTextComponent所提供的。
JTextField类可引发ActionEvent事件,当用户在文本框中按下回车键时触发。
8.3.2 JTextArea 文本区
JTextArea文本区是一个允许编辑多行文本的swing组件,JTextArea提供了多个构造方法用于创建JTextArea对象。具体见下表8-4。
表8-4 JTextArea构造方法
构造方法 | 说明 |
JTextArea() | 构造新的 TextArea。初始字符串为 null,行/列设置为 0。 |
JTextArea(String text) | 构造显示指定文本的新的 TextArea。行/列设置为 0 |
JTextArea(int rows, | 构造具有指定行数和列数的新的空 TextArea。初始字符串为 null |
JTextArea(String text, int rows,int columns) | 构造具有指定文本、行数和列数的新的 TextArea。text:文本值,rows:行数,columns:列数 |
JTextArea类可引发ActionEvent事件,当用户在文本区中按下回车键时触发。
8.3.3 JPasswordField密码框
在AWT组件中,并没有单独的密码框组件,而是通过TextField的一个setEchoChar()方法来得到密码框,但在Swing中则单独通过一个类JPasswordField来表示。密码框是文本框JTextField组件的简单扩展。因此,其构造方法与JTextField相类似,这里不再介绍。JPasswordField类中有几个重要方法,如下:
表8-5 JPasswordField类常用构造方法
成员方法 | 说明 |
public char[] getPassword() | 获得密码的字符数组表示,用来替代getText()方法 |
public void setEchoChar(char c) | 设置此 JPasswordField 的回显字符 |
public char getEchoChar() | 返回要用于回显的字符 |
① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;
② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。