Java - AWT TextField


Objekt klase TextField je tekstualna komponenta koja omogućava korisniku da unese tekst u jednom redu i uredi ga. On nasljeđuje klasu TextComponent, koja dalje nasljeđuje klasu Component. Kada unesemo ključ u tekstualno polje (npr. pritisnut taster, otpušten ili otkucan), događaj se šalje u TextField. Zatim se KeyEvent prosljeđuje registrovanom KeyListener-u. To se takođe može učiniti pomoću ActionEvent; ako je ActionEvent omogućen u tekstualnom polju, tada se ActionEvent može pokrenuti pritiskom na tipku za povratak. Događajem upravlja interfejs ActionListener. Deklaracija klase AWT TextField može se napisati kao:

public class TextField extends TextComponent 


Konstruktori klase TextField

Sljedeća tabela prikazuje tipove konstruktora klase TextField

Konstruktor Opis
TextField() Konstruiše novu komponentu tekstualnog polja.
TextField(String text) Konstruiše novo tekstualno polje inicijalizovano datim tekstom stringa koji će biti prikazan.
TextField(int columns) Konstruiše novo tekstualno polje (empty) sa datim brojem kolona.
TextField(String text, int columns) Konstruiše novo tekstualno polje sa datim tekstom i zadatim brojem kolona (širina).


Klase metode TextField

Sljedeća tabela prikazuje tipove metoda klase TextField

Metoda Opis
void addNotify() Kreira ravnopravno polje za tekst.
boolean echoCharIsSet() Govori da li tekstualno polje ima skup znakova za eho ili ne.
void addActionListener(ActionListener l) Dodaje specifikovani slušač radnji da prima događaje akcije iz polja za tekst.
ActionListener[] getActionListeners() Vraća niz svih slušalaca akcija registrovanih u tekstualnom polju.
AccessibleContext getAccessibleContext() Dohvata pristupačni kontekst koji se odnosi na tekstualno polje.
int getColumns() Dohvata broj kolona u tekstualnom polju.
char getEchoChar() Dohvata karakter koji se koristi za eho.
Dimension getMinimumSize() Dohvata minimalne dimenzije za tekstualno polje.
Dimension getMinimumSize(int columns) Dohvata minimalne dimenzije za tekstualno polje sa određenim brojem kolona.
Dimension getPreferredSize() Dohvata željenu veličinu tekstualnog polja.
Dimension getPreferredSize(int columns) Dohvata željenu veličinu tekstualnog polja sa određenim brojem kolona.
protected String paramString() Vraća string koji predstavlja stanje tekstualnog polja.
protected void processActionEvent(ActionEvent e) Obrađuje događaje akcije koji se javljaju u tekstualnom polju tako što ih šalje na registrovani ActionListener objekt.
protected void processEvent(AWTEvent e) Obrađuje događaj u tekstualnom polju.
void removeActionListener(ActionListener l) Uklanja specifikovani slušač radnji tako da više ne prima događaje akcije.
void setColumns(int columns) Postavlja broj kolona u tekstualnom polju.
void setEchoChar(char c) Postavlja eho karakter za tekstualno polje.
void setText(String t) Postavljeni tekst ovom komponentom postavlja tekst na navedeni tekst.


Metoda nasljeđivanja

Klasa AWT TextField nasljeđuje metode iz sljedećih klasa:

  • java.awt.TextComponent
  • java.awt.Component
  • java.lang.Object


Primjer Java AWT TextField

// Importovanje AWT klase  
import java.awt.*;   

    public class Main {  
        // Metoda main
        public static void main(String args[]) {    
        // Kreiranje okvira (Frame) 
        Frame f = new Frame("Primjer TextField-a");    

        // Kreiranje objekata tekstualnog polja (textfield)
        TextField t1, t2;    
        
        // Instanciranje objekata tekstualnog polja (textfield) 
        // Postavljanje lokacije tih objekata u kadru  
        t1 = new TextField("Dobro došli na sajt IT TUTORIJALI.");    
        t1.setBounds(50, 100, 200, 30);    
        t2 = new TextField("IT TUTORIJALI");    
        t2.setBounds(50, 150, 200, 30);    
        
        // Dodavanje komponenti u okvir (Frame)
        f.add(t1);  
        f.add(t2); 
        
        // Podešavanje veličine, izgleda i vidljivosti okvira (Frame)
        f.setSize(400,400);    
        f.setLayout(null);    
        f.setVisible(true);    
    }    
}

Prikaz koda iz gornjeg primjera izgledaće ovako:



Primjer Java AWT TextField sa ActionListener

// Importovanje potrebnih biblioteka  
import java.awt.*;    
import java.awt.event.*;  

// Naša klasa proširuje klasu Frame i implementuje ActionListener interfejs 
public class Main extends Frame implements ActionListener {    
    // Kreiranje instanci TextField i Button klase 
    TextField tf1, tf2, tf3;    
    Button b1, b2;   
    // Instanciranje pomoću konstruktora
    Main() {    
        // Instanciranje objekata tekstualnog polja i dugmeta
        // Postavljanje položaja komponenti u okviru
        tf1 = new TextField();    
        tf1.setBounds(50, 50, 150, 20);    
        tf2 = new TextField();    
        tf2.setBounds(50, 100, 150, 20);  
        
        tf3 = new TextField();    
        tf3.setBounds(50, 150, 150, 20);  
        tf3.setEditable(false);   
        
        b1 = new Button("+");    
        b1.setBounds(50, 200, 50, 50);  
        b2 = new Button("-");    
        b2.setBounds(120,200,50,50);  
        
        // adding action listener  
        b1.addActionListener(this);    
        b2.addActionListener(this); 
        
        // adding components to frame  
        add(tf1);  
        add(tf2);  
        add(tf3);  
        add(b1);  
        add(b2);  
        
        // Podešavanje veličine, rasporeda i vidljivosti okvira (Frame)
        setSize(300,300);    
        setLayout(null);    
        setVisible(true);    
    }  
    // Definisanje metode actionPerformed za generisanje događaja na dugmadima         
    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);    
    }   
    // Metoda main
    public static void main(String[] args) {    
        new Main();    
    }    
}

Prikaz koda iz gornjeg primjera izgledaće ovako: