Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Swing button click event

[es] :: Java :: Swing button click event

[ Pregleda: 2462 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Valerij Zajcev

Član broj: 40886
Poruke: 1374
*.hermes-softlab.com.



+2 Profil

icon Swing button click event23.03.2010. u 09:35 - pre 171 meseci
Prilicno jednostavno pitanje, zanima me da li kada imam dugme i zelim da za njega prikazcim neki event uvek moram da implementiram klasu 'ActionListener ' pa da iskoristim metod 'actionPerformed()' ili ima neki nacin kada dugmetu prikacim event nekako:

pseudo code:
Code:

Jbutton btnSubmit = new JButton();
btnSubmit.addEventHandler(handlerMethod);

...

private void handlerMethod(evt:Event)
{
    ...
}

 
Odgovor na temu

staleks
Aleksandar Stoisavljevic
Java Technical Team Leader
Novi Sad

Član broj: 10869
Poruke: 59
82.117.202.*

Sajt: www.staleksit.in.rs


+1 Profil

icon Re: Swing button click event23.03.2010. u 09:59 - pre 171 meseci
Ono sto je sigurno je da JButton nema addEventHandler metodu (ali to nisi ni ocekivao jer si pisao pseudo code).

Razmisljanje ti je dobro zato sto si na dobrom putu, JButton ima addActionListener koji ima za parametar klasu koja implementira ActionListener interface.

Tako da bi onda potpuni odgovor na tvoje pitanje bilo,

DA moze da se razdvoji.

Primer:
Code:

    JButton loadFaultMessagesBtn = new JButton("Load...");
    loadFaultMessagesBtn.addActionListener(new LoadFaultMessageListener());


a onda negde kasnije imas jos klasu

Code:

    private class LoadFaultMessageListener implements ActionListener {
        @Override
        public void actionPerformed(ActionEvent e) {
            log.trace("loadFaultBtn clicked ...");
        }
    }


Nadam se da je od pomoci
 
Odgovor na temu

Valerij Zajcev

Član broj: 40886
Poruke: 1374
*.hermes-softlab.com.



+2 Profil

icon Re: Swing button click event23.03.2010. u 10:06 - pre 171 meseci
Aha, super, ja sam do sada radio u programskom jeziku koji ima addEventListener(metodaKojaGaHendla), pa sam mislio da nema java slicno, ali ovo je super :) Hvala
 
Odgovor na temu

Man-Wolf
Mihailo Joksimovic
Beograd

Član broj: 17016
Poruke: 873
*.dynamic.sbb.rs.



+13 Profil

icon Re: Swing button click event23.03.2010. u 17:29 - pre 171 meseci
Mozes i ovako (kako radi NetBeans):

Code (java):


JButton button = new JButton("....");

button.addActionListener(new ActionListener() {
  public void actionPerformed(ActionEvent e) {
     // Pozovi neku svoju metodu
     buttonHandler(e);
  }
});





// Metoda
private void buttonHandler(ActionEvent e) {
  // Neka logika .....
}

 
 
Odgovor na temu

biske86
Ivan Biševac
Zubin Potok

Član broj: 62435
Poruke: 979
*.dynamic.isp.telekom.rs.

Sajt: biske.rs


+39 Profil

icon Re: Swing button click event23.03.2010. u 22:32 - pre 171 meseci
Ovo nije netbins već "anonimna unutrasnja klasa". To je u stvari način da se skrati kod. Anonimna potiče zato što se kreira klasa koja implementira interfejs ActionListener a pri tome nema ime. Referenca te klase se predaje metodi addActionListener. Imaš ovo potanko i lepo objašnjeno u knjizi Core Java, tom I. Na ovo se treba navikavati zato što iskusniji programeri uglavnom ovako skraćuju kod a pošto ćeš često pregledati tuđi kod moraćeš da naučiš da ga čitaš..
 
Odgovor na temu

Man-Wolf
Mihailo Joksimovic
Beograd

Član broj: 17016
Poruke: 873
*.adsl.beotel.net.



+13 Profil

icon Re: Swing button click event24.03.2010. u 09:11 - pre 171 meseci
Mozda sam se lose izrazio, tako da, izvinjavam se na nesporazumu :-)

Hteo sam da kazem da - ovakav kod generise "NetBeans" IDE i definitivno mi se cini kao najbolje resenje koje sam video do sad (tek od skoro sam krenuo da se "igram" sa Javom).
 
Odgovor na temu

[es] :: Java :: Swing button click event

[ Pregleda: 2462 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.