Obiekt klasy JTextField jest komponentem tekstowym umożliwiającym edycję tekstu jednowierszowego. Dziedziczy klasę JTextComponent.
zamów losowo w sql
Deklaracja klasy JTextField
Zobaczmy deklarację klasy javax.swing.JTextField.
public class JTextField extends JTextComponent implements SwingConstants
Często używane konstruktory:
Konstruktor | Opis |
---|---|
JTextField() | Tworzy nowe pole tekstowe |
JTextField (tekst ciągu) | Tworzy nowe pole TextField zainicjowane określonym tekstem. |
JTextField (tekst tekstowy, kolumny int) | Tworzy nowe pole TextField zainicjowane określonym tekstem i kolumnami. |
JTextField (kolumny int) | Tworzy nowe puste pole TextField z określoną liczbą kolumn. |
Powszechnie stosowane metody:
Metody | Opis |
---|---|
void addActionListener(ActionListener l) | Służy do dodania określonego detektora akcji w celu odbierania zdarzeń akcji z tego pola tekstowego. |
Akcja getAction() | Zwraca aktualnie ustawioną akcję dla tego źródła ActionEvent lub null, jeśli nie ustawiono żadnej akcji. |
zestaw pustych czcionek (czcionka f) | Służy do ustawienia bieżącej czcionki. |
void usuńAkcjęListener(ActionListener l) | Służy do usunięcia określonego detektora akcji, tak aby nie otrzymywał już zdarzeń akcji z tego pola tekstowego. |
Przykład 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); } }
Wyjście:
Przykład Java JTextField z 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(); } }
Wyjście:
pandy tworzące ramkę danych