Witam
Mam pytanie , szukam i szukam, problem polega na tym iż stworzyłem sobie fajnego Beansa, z obsługą myszy i klawiatury.
Wszystko fajnie działa(tj. funkcjonalność) ale jak zwykle GUI opóźnia i wpienia i dobija !!! :(
Dlaczego beansy dodane do JFrame albo JPanel nie reagują na klawisze ? Na mysz a i owszem.
Pierwsza przeszkoda absurdalna ! To to iż muszą być "focus", to już pokonałem ale wystarczyło zmienić układ komponentów i już nie działa.
Wciąż zdarzenie KeyPressed nie jest nigdzie przekazywane z danego komoponentu do innych. Jak to ominąć?
Oczywiście zastosowałem łopatologiczne rozwiązanie iż JFrame listiner przekazuje zdarzenie do reszty komponentów a te z kolei do komponentów które są w nich itd.
Problem w tym że to gubi sens tworzenia Beansów które mają być "samowystarczalne". To w Beansie powinno być iż np. ESC skasuje coś tam. Dzięki temu nie muszę instalować zdarzenia ESC tysiąc razy. Podobnie jak nie muszę implementować tysiąc razy zdarzeń myszy, ot mają one siedzieć już w samym Beansie.
Tak więc pytanie jak obsłużyć zdarzenia KeyPressed globalnie dla wszystkich komponentów nie tylko dla tych focus albo JFrame ???
Byłbym wdzięczny za sugestię bo to wydaje mi się głupim absurdem w Swingu :(