Java - AWT Button


Dugme je u osnovi kontrolna komponenta sa oznakom koja generiše događaj kada se pritisne. Klasa Button se koristi za kreiranje označenog dugmeta koji ima implementaciju nezavisnu od platforme. Aplikacija rezultuje nekom radnjom kada se pritisne dugme. Kada pritisnemo dugme i otpustimo ga, AWT šalje instancu ActionEvent tom dugmetu pozivajući processEvent na dugmetu. Metoda processEvent dugmeta prima sve događaje, a zatim prosljeđuje događaj akcije pozivanjem sopstvene metode processActionEvent.

Ova metoda prosljeđuje događaj radnje slušaocima akcije koji su zaintresovani za događaje akcije generisane pomoću dugmeta. Da biste izvršili radnju na dugmetu koje se pritisne i otpusti, potrebno je da implementujete interfejs ActionListener. Registrovani novi slušalac može primati događaje od dugmeta pozivanjem addActionListener metode dugmeta. Java aplikacija može koristiti naredbu akcije dugmeta kao protokol za razmjenu poruka. Deklaracija klase AWT dugmeta se može napisati kao:

public class Button extends Component implements Accessible  


Konstruktori klase Button

Sljedeća tabela prikazuje tipove konstruktora klase Button

Konstruktor Opis
Button() Konstruiše novo dugme sa praznim stringom, tj. nema oznaku.
Button (String text) Konstruiše novo dugme sa datim stringom kao oznakom.


Metode klase Button

Sljedeća tabela prikazuje tipove metoda klase Button

Metoda Opis
void setText (String text) Postavlja string poruku na dugmetu
String getText() Dohvata string poruku na dugmetu.
void setLabel (String label) Postavlja oznaku dugmeta sa navedenim nizom.
String getLabel() Dohvata oznaku dugmeta.
void addNotify() Stvara ravnopravnu tipku.
AccessibleContext getAccessibleContext() Dohvata pristupačni kontekst povezan s dugmetom.
void addActionListener(ActionListener l) Dodaje specifikovani slušač radnji da dobije događaje akcije iz dugmeta.
String getActionCommand() Vraća ime komande događaja akcije koji je pokrenut dugmetom.
ActionListener[ ] getActionListeners() Vraća niz svih slušalaca radnji registrovanih na dugmetu.
T[ ] getListeners(Class listenerType) Vraća niz svih objekata trenutno registrovanih kao FooListeners na ovom dugmetu.
protected String paramString() Vraća string koji predstavlja stanje dugmeta.
protected void processActionEvent (ActionEvent e) Obrađuje događaje akcije na dugmetu tako što ih šalje na registrovani ActionListener objekt.
protected void processEvent (AWTEvent e) Obrađuje događaje na dugmetu.
void removeActionListener (ActionListener l) Uklanja specifikovani slušač radnji tako da više ne prima događaje akcije od dugmeta.
void setActionCommand(String command) Postavlja ime komande za događaj akcije dat dugmetom.

Primjer br. 1: Java AWT dugme

import java.awt.*; 

public class Main {    
    public static void main (String[] args) {   

        // Kreiranje instance okvira s oznakom  
        Frame f = new Frame("Java AWT dugme");    

        // Kreiranje instance dugmeta sa oznakom
        Button b = new Button("Klikni ovde!");   

        // Postavljanje pozicije za dugme u okviru (Frame)
        b.setBounds(50,100,80,30);    

        // Dodavanje dugma u okvir (Frame)
        f.add(b);
        
        // Postavljanje veličine, rasporeda i vidljivosti okvira (Frame)
        f.setSize(400,400);    
        f.setLayout(null);    
        f.setVisible(true);     
    }    
}

Prikaz koda iz gornjeg primjera izgledaće ovako:




Primjer br. 2: Java AWT dugme

// Importovanje potrebne biblioteke 
import java.awt.*;  
  
public class Main  
{  
// Kreiranje instanci klase Frame i Button
Frame fObj;  
Button button1, button2, button3; 

    // Instanciranje pomoću konstruktora
    Main() {  
    fObj = new Frame ("Forma koja prikazuje više dugmadi");  
    button1 = new Button();  
    button2 = new Button ("Klikni ovde");  
    button3 = new Button();  
    button3.setLabel("Dugme br. 3"); 
    
    fObj.add(button1);  
    fObj.add(button2);  
    fObj.add(button3);  
    fObj.setLayout(new FlowLayout());  
    fObj.setSize(400,400);  
    fObj.setVisible(true);  
    }  
    // Metoda main 
    
public static void main (String args[])  
    {  
        new Main();  
    }  
}

Prikaz koda iz gornjeg primjera izgledaće ovako:



Primjer Java AWT dugmeta sa ActionListenerom

U sljedećem primjeru obrađujemo događaje klika na dugme implementacijom ActionListener interfejsa.

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

public class Main {    
    public static void main(String[] args) {    
        // Kreiranje istance okvira s oznakom (label)
        Frame f = new Frame("Primjer AWT dugmeta");    
        final TextField tf=new TextField();    
        tf.setBounds(50,50, 250,20);  
        
        // Kreirajte instancu dugmeta sa oznakom (label)
        Button b=new Button("Klikni ovdje");    
        
        // set the position for the button in frame   
        b.setBounds(50,100,80,30);   
        b.addActionListener(new ActionListener() {    
        public void actionPerformed (ActionEvent e) {    
                tf.setText("Dobro došli na sajt IT TUTORIJALI.");    
            }    
        });  
        
        // Dodavanje dugmeta u okvir (Frame) 
        f.add(b);  
        
        // Dodavanje tekstualnog polja u okvir (Frame)
        f.add(tf);   
        
        // Postavljanje veličine, rasporeda i vidljivosti  
        f.setSize(400,400);    
        f.setLayout(null);    
        f.setVisible(true);     
    }    
} 

Prikaz koda iz gornjeg primjera izgledaće ovako: