当前位置: 首页 > 教程 > Java Swing >

Java JTextField

精华
小牛编辑
96浏览
2023-03-14

1 Java JTextField的介绍

JTextField类的对象是一个文本组件,允许编辑单行文本。它继承了JTextComponent类。

2 Java JTextField的声明

我们来看一下javax.swing.JTextField类的声明。

public class JTextField extends JTextComponent implements SwingConstants  

3 Java JTextField的构造方法

构造方法 描述
JTextField() 创建一个新的TextField
JTextField(String text) 创建一个使用指定文本初始化的新TextField
JTextField(String text, int columns) 创建一个新的TextField,并使用指定的文本和列进行初始化。
JTextField(int columns) 用指定的列数创建一个新的空TextField。

4 Java JTextField的方法

方法 描述
void addActionListener(ActionListener l) 用于添加指定的动作侦听器,以接收来自此文本字段的动作事件。
Action getAction() 为此ActionEvent源返回当前设置的Action;如果未设置Action,则返回null。
void setFont(Font f) 用于设置当前字体。
void removeActionListener(ActionListener l) 用于删除指定的动作侦听器,以使其不再从该文本字段接收动作事件。

5 Java JTextField的案例1

package cn.xnip;
/**
 * 小牛知识库网: https://www.xnip.cn
 */
import javax.swing.*;
public class TextFieldExample {
public static void main(String args[]) {
        JFrame f= new JFrame("JTextField案例-小牛知识库网");
        JTextField t1,t2;
        t1=new JTextField("欢迎访问www.yiidain.com");
        t1.setBounds(50,100, 200,30);
        t2=new JTextField("Swing教程");
        t2.setBounds(50,150, 200,30);
        f.add(t1); f.add(t2);
        f.setSize(400,400);
        f.setLayout(null);
        f.setVisible(true);
    }  
}

输出结果为:

6 Java JTextField的案例2

package cn.xnip;
/**
 * 小牛知识库网: https://www.xnip.cn
 */
import javax.swing.*;
import java.awt.event.*;

public class TextFieldExample implements ActionListener{
    JTextField tf1,tf2,tf3;
    JButton b1,b2;
    TextFieldExample(){
        JFrame f= new JFrame();
        tf1=new JTextField();
        tf1.setBounds(50,50,150,20);
        tf2=new JTextField();
        tf2.setBounds(50,100,150,20);
        tf3=new JTextField();
        tf3.setBounds(50,150,150,20);
        tf3.setEditable(false);
        b1=new JButton("+");
        b1.setBounds(50,200,50,50);
        b2=new JButton("-");
        b2.setBounds(120,200,50,50);
        b1.addActionListener(this);
        b2.addActionListener(this);
        f.add(tf1);f.add(tf2);f.add(tf3);f.add(b1);f.add(b2);
        f.setSize(300,300);
        f.setLayout(null);
        f.setVisible(true);
    }

    public void actionPerformed(ActionEvent e) {
        String s1=tf1.getText();
        String s2=tf2.getText();
        int a=Integer.parseInt(s1);
        int b=Integer.parseInt(s2);
        int c=0;
        if(e.getSource()==b1){
            c=a+b;
        }else if(e.getSource()==b2){
            c=a-b;
        }
        String result=String.valueOf(c);
        tf3.setText(result);
    }

    public static void main(String[] args) {
        new TextFieldExample();
    }
}

输出结果为: