文本组件
《零基础学Java》
-
文本组件
文本组件在实际的项目开发中使用的最为广泛,尤其是 文本框 与 密码框 组件。
-
JTextField文本框组件
文本框(JTextField)是用来 显示 或 编辑 一个单行文本,在 Swing 中通过 javax.swing.JTextField类 对象创建(该类继承了 javax.swing.JTextComponent类)。
常用的 JTextField文本框 构造方法
-
public JTextField(); 构造一个无参的文本框。
-
public JTextField(text); 构造一个指定文本(初始值)的文本框。
-
public JTextField(fieldwidth); 构造一个指定列数的文本框。
-
public JTextField(text , fieldwidth); 构造一个指定文本、指定列数的文本框。
JTextField文本框组件 实例
import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; public class Demo9 extends JFrame { public Demo9(){ setBounds(100,100,250,100); setDefaultCloseOperation(EXIT_ON_CLOSE); Container c = getContentPane(); c.setLayout(new FlowLayout()); JTextField jt = new JTextField();//添加一个文本框 jt.setText("初始值");//设置文本框的初始值 jt.setColumns(20);//设置文本框的长度为20个字符 jt.setFont(new Font("黑体",Font.PLAIN,20));//设置文本字体格式为 黑体,普通样式,字体大写为20 c.add(jt); JButton btn = new JButton("确认");//创建一个按钮 btn.addActionListener(new AbstractAction() {//添加按钮事件 @Override public void actionPerformed(ActionEvent e) { System.out.println("文本框的内容为:"+jt.getText());//获取文本框中的文本值 jt.setText("");//清空文本框中的内容 jt.requestFocus();//获取焦点(光标) } }); c.add(btn); setVisible(true); } public static void main(String[] args) { new Demo9(); } }
JTextField文本框组件 实例输出结果:
-
-
JPasswordField密码框组件
密码框(JPasswordField)与文本框的定义、用法基本相同,唯一不同的是密码框会将用户输入的字符串进行加密(密码框对象是通过 javax.swing.JPasswordField 类创建的)。
JPasswordField密码框组件 常用的构造方法
-
public JPasswordField();
-
public JPasswordField(text);
-
public JPasswordField(fieldwidth);
-
public JPasswordField(text , fieldwidth);
JPasswordField密码框组件 实例
import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; public class Demo10 extends JFrame { public Demo10(){ setBounds(100,100,500,100); setDefaultCloseOperation(EXIT_ON_CLOSE); Container c = getContentPane(); c.setLayout(new FlowLayout()); JPasswordField jp = new JPasswordField();//创建一个密码框 jp.setColumns(20);//设置密码框长度为20 jp.setFont(new Font("Arial",Font.BOLD,18));//设置密码框字体为Arial,加粗,字号18 jp.setEchoChar('#');//设置密码框显示的字符为# jp.addActionListener(new AbstractAction() {//添加动作监听(触发方式:回车) @Override public void actionPerformed(ActionEvent e) { char ch[] = jp.getPassword();//获取密码框的字符数组 赋值给ch String str = new String(ch); System.out.println(str); } }); c.add(jp); setVisible(true); } public static void main(String[] args) { new Demo10(); } }
JPasswordField密码框组件 实例输出结果:
-
-
JTextArea文本域组件
文本域(JTextArea)可以在程序中接受用户输入的多行文字。
JTextArea文本域组件 常用的构造方法
构造方法 解释 public JTextArea(); 构造JTextArea类的对象 public JTextArea(text); 构造一个指定文本的JTextArea类的对象 public JTextArea(rows , columns); 构造一个指定行数、列数,没有指定文本的JTextArea类的对象 JTextArea文本域组件 实例
import javax.swing.*; import java.awt.*; public class Demo11 extends JFrame { public Demo11(){ setBounds(100,100,200,100); setDefaultCloseOperation(EXIT_ON_CLOSE); Container c = getContentPane(); c.setLayout(new FlowLayout()); JTextArea jt = new JTextArea();//创建一个文本域 JScrollPane jp = new JScrollPane(jt);//给文本域添加滚动面板 jt.setFont(new Font("楷体",Font.BOLD,20));//设置文本域字体 jt.setText("这是文本域的默认值");//设置文本域的默认值 jt.setRows(5);//设置文本域默认的行数 jt.setColumns(20);//设置文本域默认的列数 jt.append("添加内容");//在文本域原来默认值的后面添加内容 jt.insert("内容",2);//在文本域的第二个字符后面插入内容 c.add(jp); setVisible(true); } public static void main(String[] args) { new Demo11(); } }
JTextArea文本域组件 实例输出结果: