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

Sta vraca getSource() metoda?

[es] :: Java :: Sta vraca getSource() metoda?

[ Pregleda: 2848 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

LightBow
London

Član broj: 4829
Poruke: 158
78.149.169.*



+1 Profil

icon Sta vraca getSource() metoda?31.07.2008. u 06:17 - pre 191 meseci
Pozdrav Java forumasima.
Napravio sam klasu BidButton koja nasledjuje JButton. Dodatna metoda je public int getItem().

E sad u glavnoj klasi napravio sam niz BidButtona i svakom dodelio broj (int). Sada sam definisao actionPerformed ovako:
Code:
public void actionPerformed(ActionEvent e) {
        
        int id = e.getSource().getItem();
Medjutim kompajler ne prepoznaje getItem() metodu. Ja sam mislio da getSource() vraca objekat koji je kliknut, a to je u ovom slucaju BidButton?
Probao sam i da kastujem:
Code:
int id = (BidButton)e.getSource().getItem();
Ali dobijam istu gresku.
Zna li neko u cemu je greska?
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-1.sezampro.yu.



+33 Profil

icon Re: Sta vraca getSource() metoda?31.07.2008. u 10:22 - pre 191 meseci
Da si taj kod kucao u NetBeans-u bilo bi ti mnogo lakshe, i verovatno bi odma' video da getSource() vraca Object. A taj object ne podrazumeva celu tu klasu koju si ti napravio, vec samo objekat koji je izazvao taj dogadjaj, tako da ne mozhesh preko te metode da pristupish i toj dodatnoj metodi u klasi. Posle te tachke iza getSource(), mogu da idu samo npr. equals(), getClass(), hashCode(), notify(), itd.
Ne znam tachno shta je cilj tog tvog dela koda...
 
Odgovor na temu

hyle
Perica Milošević
Belgrade

Član broj: 30030
Poruke: 150
*.static.ikomline.net.

Sajt: www.linkedin.com/in/peric..


+4 Profil

icon Re: Sta vraca getSource() metoda?31.07.2008. u 13:49 - pre 191 meseci
Nisi dobro kastovao, za kompajler veći prioritet ima poziv metode u odnosu na kastovanje.
Code:
int id = (BidButton)e.getSource().getItem();

Kompajler smatra da si hteo da pozoveš sve navedene metode i tek na kraju uradiš kastovanje rezultata u BidButton.
Ispravno kastovanje je ovako:
Code:
int id = ((BidButton)e.getSource()).getItem();

Zagradama možeš obezbediti da se prvo uradi kastovanje u BidButton i tek onda pozoveš metodu.
 
Odgovor na temu

LightBow
London

Član broj: 4829
Poruke: 158
78.149.169.*



+1 Profil

icon Re: Sta vraca getSource() metoda?31.07.2008. u 15:51 - pre 191 meseci
Da, to je to. Pretpostavljao sam tako nesto posto kad sam stavio:
Code:
BidButton bb = (BidButton)e.getSource();
        int id = bb.getItem();
onda radi.
Hvala.
 
Odgovor na temu

[es] :: Java :: Sta vraca getSource() metoda?

[ Pregleda: 2848 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

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