Zdravim.
Mam nasledovny problem:
V jednej triede su 2 buttony a ako obsluha udalosti (stlacenie buttonu) sa musi vyuzivat ina vonkajsia trieda - Obsluha.
Ako sa da zaregistrovat buttonu2 konkretny objekt triedy Obsluha, (ako posluchac) taky, ktory vznikol pri stlaceni buttonu1?
nieco na sposob:
button1.addActionListener(Obsluha o = new obsluha);
button2.addActionListener(o);
//uvedeny sposob samozrejme neprejde kompilaciou
Teda pri kazdom stlaceni buttonu1 sa vytvori novy objekt triedy Obsluha a tento novy objekt sa zaregistruje ako posluchac buttonu2
Nestretol sa s tym uz niekto?
problem v Java
okrem toho ze ti za new
cele zle
bud:
alebo taky debilny zapis ktorby by som osobne nikdy radsej nepouzil lebo si nemozes byt isty ze button1 ma na sebe len jeden listener:
cele zle
bud:
Kód: Vybrať všetko
Obsluha o = new Obsluha();
button1.addActionListener(o);
button2.addActionListener(o);Kód: Vybrať všetko
button1.addActionListener(new Obsluha());
button2.addActionListener(button1.getActionListeners()[0]);tak to si sa trosku oje***, pretoze ani jeden zo zapisov nesposobi to, ze pri kazdom stlaceni bude vytvoreny novy objekt ... tie zapisy su technicky IDENTICKE, je to len o tom ktory je krajsi na pohlad ...nolentak napísal:Zdar zaggi.
To prve nie, lebo button1 ma kazdym stlacenim vytvarat novy objekt,
ale to druhe mi pomohlo
Ked nepridem na nieco lepsie, tak to necham zatial takto.
Diky pekne.
moj osobny zapis na akcie na butonoch je nasledovny
Kód: Vybrať všetko
button1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
//kod ktory sa vykona pri kliknuti na button, napr chcem
//pri kazdom kliknuti vytvorit novu obsluhu
new Obsluha();
}
});pravdu mas, okabatil som sa.
No v programe mi to fungovalo, ale z inych dovodov..
neviem, ci mi je jasno s tymto - button2.addActionListener(button1.getActionListeners()[0]);
znamena to, ze button1 ak si postupne registruje posluchacov, tak ti sa ukladaju do akehosi pola a tymto zapisom ziskam prveho posluchaca buttona1?
neviem, ci mi je jasno s tymto - button2.addActionListener(button1.getActionListeners()[0]);
znamena to, ze button1 ak si postupne registruje posluchacov, tak ti sa ukladaju do akehosi pola a tymto zapisom ziskam prveho posluchaca buttona1?