Java JTextField
L'objecte d'una classe JTextField és un component de text que permet l'edició d'una sola línia de text. Hereta la classe JTextComponent.
Declaració de classe JTextField
Vegem la declaració de la classe javax.swing.JTextField.
public class JTextField extends JTextComponent implements SwingConstants
Constructors d'ús habitual:
| Constructor | Descripció |
|---|---|
| JTextField() | Crea un nou TextField |
| JTextField(String text) | Crea un nou TextField inicialitzat amb el text especificat. |
| JTextField(String text, int columnes) | Crea un nou TextField inicialitzat amb el text i les columnes especificats. |
| JTextField(int columnes) | Crea un TextField nou buit amb el nombre de columnes especificat. |
Mètodes d'ús habitual:
| Mètodes | Descripció |
|---|---|
| void addActionListener(ActionListener l) | S'utilitza per afegir l'escolta d'acció especificat per rebre esdeveniments d'acció d'aquest camp de text. |
| Acció getAction() | Retorna l'acció establerta actualment per a aquesta font d'ActionEvent, o nul·la si no s'ha establert cap acció. |
| void setFont (Tipus de lletra f) | S'utilitza per definir el tipus de lletra actual. |
| void removeActionListener(ActionListener l) | S'utilitza per eliminar l'escolta d'acció especificat de manera que ja no rebi esdeveniments d'acció d'aquest camp de text. |
Exemple de Java JTextField
import javax.swing.*; class TextFieldExample { public static void main(String args[]) { JFrame f= new JFrame('TextField Example'); JTextField t1,t2; t1=new JTextField('Welcome to Javatpoint.'); t1.setBounds(50,100, 200,30); t2=new JTextField('AWT Tutorial'); t2.setBounds(50,150, 200,30); f.add(t1); f.add(t2); f.setSize(400,400); f.setLayout(null); f.setVisible(true); } } Sortida:
Exemple de Java JTextField amb ActionListener
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(); } } Sortida: