Java JTextField
Об’єкт класу JTextField — це текстовий компонент, який дозволяє редагувати однорядковий текст. Він успадковує клас JTextComponent.
Оголошення класу JTextField
Давайте подивимося оголошення для класу javax.swing.JTextField.
public class JTextField extends JTextComponent implements SwingConstants
Часто використовувані конструктори:
| Конструктор | опис |
|---|---|
| JTextField() | Створює нове TextField |
| JTextField (рядковий текст) | Створює нове TextField, ініціалізоване вказаним текстом. |
| JTextField(рядковий текст, int стовпців) | Створює нове TextField, ініціалізоване вказаним текстом і стовпцями. |
| JTextField (внутрішні стовпці) | Створює нове порожнє TextField із вказаною кількістю стовпців. |
Зазвичай використовувані методи:
| методи | опис |
|---|---|
| void addActionListener(ActionListener l) | Він використовується для додавання зазначеного прослухувача дій для отримання подій дій із цього текстового поля. |
| Дія getAction() | Він повертає поточну встановлену дію для цього джерела ActionEvent або значення null, якщо жодна дія не встановлена. |
| void setFont(Font f) | Використовується для встановлення поточного шрифту. |
| void removeActionListener(ActionListener l) | Він використовується для видалення вказаного прослухувача дій, щоб він більше не отримував події дій із цього текстового поля. |
Приклад 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); } } Вихід:
Приклад Java JTextField з 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(); } } Вихід: