Witam
Ilekroć przysiądę do aplikacji desktopowej w Swingu, zawsze natrafię na jakiś problem, o którym do tej pory myślałem, że jest jakąś pierdołą.
W jaki sposób zaimplementować coś w stylu GlassPane ale w obszarze Panelu? Innymi słowy - jak rysować po JPanel aby one się nie odrysowywały.
Tak wiem nadpisz paint() albo paintComponent(). Też tak myślałem!. Tylko, że to nie pomogło..... childComponents rysują się nadal;/ Chciałem zrobić "screenszota" robotem obecnego komponentu i takiego go rysować, tylko nic mi po tym skoro childy się rysują;/
Miałem w aplikacji topornie zaimplementowany Preloader. Generalnie działał fajnie. Bardzo ładnie przykrywał np cały panel i wyświetlał animacje. Oparte toto było o GlassPane, także wiele instancji komponentów które potrzebowały preloadera "wyrywały" sobie dostęp do glass pane w taki sposób, żeby tylko widoczna kontrolka miała do niego dostęp. Oczywiście wyliczane tam były współrz1
ędne komponentu itd itp i rysowany był (bo GP) prostokąt przykrywający komponent. Problemy stwarza to 2 (przynajmniej).
- Preloader przykrywał wszystko nad komponentem, a więc również kontrolki których nie powinien (np rozwinięte menu)
- No nie ma siły, żeby lekkim sposobem uruchomić np 2 widoczne na ekranie preloadery lub więcej.
Trzecim może być toporna implementacja i kod "na pająka"