[ pocetnik2007 @ 17.01.2007. 13:51 ] @
| Pozdrav svima! :)
Imam sledeci problem, koji ne znam kako da resim, pa se setih vas ;)
Dakle, imam Panel, matricu button-a, koju sam prilepio za Panel.
Treba mi metoda koja ce da vraca indekse pritisnutih button-a, ali
ce button-i biti zakljucani sve dok neko ne zatrazi vracanje njihovih indeksa. Onaj ko
zatrazi dohvatanje indeksa, treba da cheka dok se neki button ne pritisne.
Nadam se da nisam bio mnogo konfuzan ;)
Zato sam stavio na pocetku da mi Panel bude zakljucan, pa tek u funkciji getIndex()
da se otkljuca, i tu sam hteo da proverim koji je button pritisnut, te da vratim njegove indexe.
Ali, problem je u tome, sto pojma nemam koja funkcija ispituje da li je dugme pritisnuto ili ne.
Takodje, svakom dugmetu sam dodao ActionListener, ali ni tu ne znam sta da stavim u funkciji
actionPerformed().
Code: public synchronized Point getIndex() throws InterruptedException{
Point p=null;
ploca.setEnabled(true); // Ovo mi je taj Panel
for(int i=0;i<a;i++)
for(int j=0;j<b;j++){
while(!dugme[i][j].hasFocus()) wait(); //ovo sam stavio bzv, chisto da neshto stoji :)
p=new Point(i, j);
}
notifyAll();
return p;
}
U kodu iznad sam stavio kako sam uradio ja to, ali s metodom button.hasFocus()
koja mi bas ni ne treba :) , samo bih je zamenio tom metodom koja ispituje da li je button
pritisnut.
A i opet ne znam sta staviti u actionPerformed() funkciji?
Molim za pomoc, posto sam pocetnik, pa se ne snalazim bas najbolje...
Unapred zahvalan ;)
|
[ bgd2500 @ 17.01.2007. 14:56 ] @
Recimo:
Code:
public void actionPerformed (ActionEvent ae) {
Object src = ae.getSource();
for(int i=0;i<a;i++)
for(int j=0;j<b;j++){
if (src == dugme[i][j]) {
System.out.println("pritisnuto je dugme [" + i + "][" + j + "]");
break;
}
}
}
}
[ pocetnik2007 @ 17.01.2007. 15:01 ] @
Hvala, ali.. huh
Ja moram u funkciji getIndex() da dohvatim indeks pritisnutog dugmeta. Kako (i da li) je moguce da nekako pozovem
u funkciji gatIndex() taj ActionListener dugmeta, i jednostavno vidim koje je dugme pritisnuto..?
[ pocetnik2007 @ 17.01.2007. 15:09 ] @
Zapravo, meni samo treba funkcija koja ispituje da li je neko dugme pritisnuto...
?
[ samilen @ 18.01.2007. 03:51 ] @
Možeš da napraviš klasu MojeDugme extends JButton koja ima boolean varijablu (da li je pritiskano), a može da ima i timestamp varijablu sa trenutkom zadnjeg pritiskanja i šta god ti još treba (možeš i da ga zaključavaš i otključavaš do mile volje), a može i na druge načine, ovo mi je prvo palo na pamet.
[ pocetnik2007 @ 18.01.2007. 09:45 ] @
Hmm, to JButton me podseca na swing, a ja moram sve u awt-u da izvedem :)
[ bgd2500 @ 18.01.2007. 15:31 ] @
Moze i u awt-u isto to.
Inace, ne postoji funkcija koja vraca dal je dugme pritisnuto ili ne.
Zapamti recimo u actionPerformed metodu indeks pritisnutog dugmeta, pa ga koristi u getIndex metodu.
[ pocetnik2007 @ 18.01.2007. 16:36 ] @
Tako sam na kraju i uradio, josh samo kada bi to htelo da proradi :):):)
Hvala svima..
Pozzz
[ samilen @ 18.01.2007. 22:57 ] @
Još bi bolje bilo kada bi koristio kompoziciju umesto nasleđivanja, što bi se uklopilo u neki pattern koji bi kasnije možda upotrebio, ali je i ovo jako dobro. Pošto si početnik uradi ovako, ali se kasnije trudi da što češće koristiš kompoziciju umesto nasleđivanja, to je u duhu dobrog dizajna. Nadam se da će ti ovaj savet koristiti.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.