wzorce radzenia sobie z własnymi buttonami

wzorce radzenia sobie z własnymi buttonami
Qbisiek
  • Rejestracja:około 12 lat
  • Ostatnio:około 10 lat
  • Postów:160
1

Niebawem chciałbym wziąć się za pisanie pewnego programu, który będzie miał sporo buttonów z własną grafiką. Zanim więc zacznę coś robić źle, chciałbym się dowiedzieć jakie są według Was najlepsze - tj. najwygodniejsze/najefektywniejsze sposoby obchodzenia się z przyciskami, którymi chcemy nadać własną grafikę/ikonę?
Widziałem, że JButton ma jakieś metody do ustawiania ikony, ale nie wiem czy można też jakoś ustawić osobną grafikę jaka ma się wyświetlać po najechaniu na niego myszką i inną przy wciśnięciu LPM ? Myślałem, że można by przechowywać grafikę w jakiś JBufferedImage i obsługiwać zdarzenia i ruchy myszy (sprawdzać w jakim obszarze jest kursor, jakie eventy i reagować), czy może pozamykać ikony w osobnych JPanelach i działać podobnie jak napisałem wyżej ?

Proszę o radę bardziej doświadczonych osób, jak elegancko się z tym obchodzić ?


init0
przecież każdy program jest zależny od idei programisty, można ewentualnie pomóc z błędem albo zagmatwanym kodem ale żeby pokazywać komuś palcem co i jak to raczej nie jest dobra droga.
Qbisiek
Ale ja nie oczekuję wskazania palcem konkretnego rozwiązania. Właśnie wolałbym żeby ludzie opisali swoje metody podejścia do w/w tematu, wady i zalety różnych sposobów, wtedy dałoby mi to jakiś pogląd i mógłbym odpowiednio zmodyfikować własne pomysły. Chodzi mi o to, że będzie to mój pierwszy tego typu program i nie chciałbym się narobić, żeby potem miało się okazać że istniał jakiś dużo prostszy i ładniejszy sposób.
Qbisiek
  • Rejestracja:około 12 lat
  • Ostatnio:około 10 lat
  • Postów:160
0

Wymyśliłem pewien sposób, mam nadzieję, że podzielicie się swoimi opiniami na jego temat. Mianowicie zdarzenie kliknięcia uruchamiało by wątek sprawdzający czy pozycja kursora leży w obszarze jakiegoś przycisku. obszary te byłyby trzymane w jakiejś liście. Oprócz tego chciałbym aby czasem była wyświetlana jakaś informacja po samym najechaniu na dany obszar. Wówczas powyższa metoda, tylko że dla zmiany położenia kursora, strasznie by muliła bo o ile kliknięcia byłyby raczej raz na jakiś czas to zmiana współrzędnych "myszy" występowałaby co chwila. W związku z powyższym, sprawdzanie czy kursor należy do jakiegoś obszaru (w celu wyświetlenia informacji) było by sprawdzane cyklicznie przez osobny wątek usypiany np. na 250 ms.

Przypuszczam, że może to być jeden z gorszych pomysłów o jakich słyszeliście, ale też dla tego założyłem ten temat - żeby się dowiedzieć jak sobie z tego typu problemem radzić.


edytowany 1x, ostatnio: Qbisiek

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.