Java - AWT TextArea


Objekt klase TextArea je višelinijska regija koja prikazuje tekst. Omogućava uređivanje teksta u više redova. Nasljeđuje klasu TextComponent. TextArea nam omogućava da ukucamo onoliko teksta koliko želimo. Kada tekst u oblasti teksta postane veći od vidljive površine, traka za pomeranje se automatski pojavljuje koja nam pomaže da pomeramo tekst gore i dole, ili desno i levo. Deklaracija klase AWT TextArea se može napisati kao:

public class TextArea extends TextComponent  


Polja klase TextArea

Polja klase java.awt.TextArea su sljedeća:

  • static int SCROLLBARS_BOTH - Kreira i prikazuje horizontalne i vertikalne trake za pomicanje.
  • static int SCROLLBARS_HORIZONTAL_ONLY - Kreira i prikazuje samo horizontalnu traku za pomicanje.
  • static int SCROLLBARS_VERTICAL_ONLY - Kreira i prikazuje samo vertikalnu traku za pomicanje.
  • static int SCROLLBARS_NONE - Ne kreira niti prikazuje traku za pomicanje u oblasti teksta.


Konstruktori klase TextArea

Sljedeća tabela prikazuje tipove konstruktora klase TextArea

Konstruktor Opis
TextArea() Konstruiše novo i prazno područje teksta bez teksta u njemu.
TextArea (int row, int column) Konstruiše novu tekstualnu oblast sa određenim brojem redova i kolona i praznim stringom kao tekst.
TextArea (String text) Konstruiše novo tekstualno područje i prikazuje navedeni tekst u njemu.
TextArea (String text, int row, int column) Konstruiše novo tekstualno područje sa navedenim tekstom u tekstualnom području i određenim brojem redova i kolona.
TextArea (String text, int row, int column, int scrollbars) Konstruiše novo tekstualno područje sa specifikovanim tekstom u tekstualnom području i određenim brojem redova i kolona i vidljivošću.


Metode nasljeđivanja

Metode klase TextArea su nasljeđene od sljedećih klasa:

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


Klase metode TextArea

Sljedeća tabela prikazuje tipove metoda klase TextArea

Metoda Opis
void addNotify() Kreira ravnopravnu oblast teksta (TextArea).
void append(String str) Dodaje navedeni tekst trenutnom TextArea.
AccessibleContext getAccessibleContext() Vraća pristupačni kontekst koji se odnosi na tekstualno područja.
int getColumns() Vraća broj kolona tekstualnog područja.
Dimension getMinimumSize() Određuje minimalnu veličinu tekstualnog područja.
Dimension getMinimumSize(int rows, int columns) Određuje minimalnu veličinu tekstualnog područja sa datim brojem redova i kolona.
Dimension getPreferredSize() Određuje željenu veličinu tekstualnog područja.
Dimension preferredSize(int rows, int columns) Određuje željenu veličinu tekstualnog područja sa datim brojem redova i kolona.
int getRows() Vraća broj redova tekstualnog područja.
int getScrollbarVisibility() Vraća vrijednost koja pokazuje koje trake za pomicanje koristi područje teksta.
void insert(String str, int pos) Dodaje navedeni tekst na zadanu poziciju u ovoj oblasti teksta.
protected String paramString() Vraća string koji predstavlja stanje ove TextArea.
void replaceRange(String str, int start, int end) Zamjenjuje tekst između naznačene početne i krajnje pozicije sa navedenim zamjenskim tekstom.
void setColumns(int columns) Postavlja broj kolona za ovu tekstualnu oblast.
void setRows(int rows) Postavlja broj redova za ovu tekstualnu oblast.


Primjer Java AWT TextArea

Sljedeći primjer ilustruje jednostavnu implementaciju TextArea gdje kreiramo područje teksta koristeći konstruktor TextArea(String text) i dodajemo ga u okvir.

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

public class Main    
{    
    // Konstruktor za inicijalizaciju 
     Main() {    
        // Kreiranje okvira (Frame)
        Frame f = new Frame("Java AWT TextArea");  
        
        // Kreiranje oblasti za tekst  
        TextArea area = new TextArea("Dobro došli na sajt IT TUTORIJALI!");  
        
        // Postavljanje lokacije tekstualnog područja u okviru (Frame)
        area.setBounds(10, 30, 300, 300);    
        
        // Dodavanje oblasti teksta u okvir  
        f.add(area);  
        
        // Podešavanje veličine, rasporeda i vidljivosti okvira    
        f.setSize(400, 400);    
        f.setLayout(null);    
        f.setVisible(true);    
     }    
// Metoda main  
public static void main(String args[])    
    {    
       new Main();    
    }    
} 

Prikaz koda iz gornjeg primjera izgledaće ovako:



Primjer Java AWT TextArea sa ActionListener

Sljedeći primjer prikazuje područje teksta u okviru gdje proširuje klasu Frame i implementira ActionListener interfejs. Koristeći ActionListener, događaj se generiše pritiskom na dugme, pri čemu se broji broj karaktera i riječi unjetih u tekstualnu oblast.

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

// Naša klasa proširuje klasu Frame da bi nasljedila njena svojstva
// i implementuje ActionListener interfejs da nadjača njegove metode  
public class Main extends Frame implements ActionListener {    
// Kreiranje objekata klase Label, TextArea i Button. 
Label l1, l2;    
TextArea area;    
Button b;    
// Konstruktor za instanciranje
    Main() {    
        // Instanciranje i postavljanje lokacije komponenti na okviru  
        l1 = new Label();    
        l1.setBounds(50, 50, 100, 30);  

        l2 = new Label();    
        l2.setBounds(160, 50, 100, 30);    

        area = new TextArea();    
        area.setBounds(20, 100, 300, 300);   

        b = new Button("Pokreni brojač");    
        b.setBounds(100, 400, 100, 30);    

        // Dodavanje ActionListener-a na dugme 
        b.addActionListener(this);    

        // Dodavanje komponenti u okvir  
        add(l1);  
        add(l2);  
        add(area);  
        add(b);    

        // Postavljanje veličine, izgleda i vidljivosti okvira  
        setSize(400, 450);    
        setLayout(null);    
        setVisible(true);    
    }    
    // Generisanje područja teksta događaja za brojanje riječi i znakova
    public void actionPerformed(ActionEvent e) {    
        String text = area.getText();    
        String words[]=text.split("\\s");    
        l1.setText("Riječi: "+words.length);    
        l2.setText("Karaktera: "+text.length());    
    }    
    // Metoda main 
    public static void main(String[] args) {    
        new Main();    
    }    
} 

Prikaz koda iz gornjeg primjera izgledaće ovako: