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();
}
}
输出结果为: