Java - Grafika - Výběr komponent "v pořadí"
Napsal: 10 pro 2011 18:33
Zdravím,
narazil jsem na problémek, se kterým si se svými současnými znalosti Javy neumím poradit sám...situace je taková, že si programuju takovou menší grafickou "hru" - skládačku (obrázek rozsekanej na čtverečky, jeden čteverček chybí, různě se to rozhází a účelem je složit posouváním obrázek zpátky dohromady)...realizoval jsem to tak, že mám JPanel a v něm jsou pomocí GridBagLayoutu umístěný jednotlivý dílky - JButtony (resp. jejich drobně obohacení potomci) s obrázkem...všechno mi to funguje, krásně funguje posouvání po kliknutí, mám i automatický "míchání", ovšem co potřebuju udělat je kontrola "výhry", to jest, že jsou dílky ve správným pořadí
řešení, co se snažím realizovat je, že má každej dílek svoje "pořadový číslo" a po každým tahu se to prožene funkcí, která bude postupně koukat na dílky a porovnávat, jestli pořadové číslo odpovídá očekávanému...ovšem k tomu potřebuju to koukání - postupně po řádcích od pozice "vlevo nahoře" po pozici "vpravo dole"...a to nevím, jak se dělá...myslel jsem intuitivně, že to bude metoda "getComponentAt(x,y)", kterou JPanel (resp. JComponent) má, ovšem z toho mi lezou samý JPanely a ne instance tý tlačítkový třídy...tak buď to používám blbě a nebo to není ono
měl by někdo nějakej nápad? mě teda eště napadá udržovat si bokem číselnou tabulku s aktuálními pozicemi a kdyžtak to tak udělám, ale zas mi to nepřijde tak elegantní jako tohle
narazil jsem na problémek, se kterým si se svými současnými znalosti Javy neumím poradit sám...situace je taková, že si programuju takovou menší grafickou "hru" - skládačku (obrázek rozsekanej na čtverečky, jeden čteverček chybí, různě se to rozhází a účelem je složit posouváním obrázek zpátky dohromady)...realizoval jsem to tak, že mám JPanel a v něm jsou pomocí GridBagLayoutu umístěný jednotlivý dílky - JButtony (resp. jejich drobně obohacení potomci) s obrázkem...všechno mi to funguje, krásně funguje posouvání po kliknutí, mám i automatický "míchání", ovšem co potřebuju udělat je kontrola "výhry", to jest, že jsou dílky ve správným pořadí
řešení, co se snažím realizovat je, že má každej dílek svoje "pořadový číslo" a po každým tahu se to prožene funkcí, která bude postupně koukat na dílky a porovnávat, jestli pořadové číslo odpovídá očekávanému...ovšem k tomu potřebuju to koukání - postupně po řádcích od pozice "vlevo nahoře" po pozici "vpravo dole"...a to nevím, jak se dělá...myslel jsem intuitivně, že to bude metoda "getComponentAt(x,y)", kterou JPanel (resp. JComponent) má, ovšem z toho mi lezou samý JPanely a ne instance tý tlačítkový třídy...tak buď to používám blbě a nebo to není ono
měl by někdo nějakej nápad? mě teda eště napadá udržovat si bokem číselnou tabulku s aktuálními pozicemi a kdyžtak to tak udělám, ale zas mi to nepřijde tak elegantní jako tohle