container public getContentPane () Fereastra, ca orice container, moștenește metoda setLayout (LayoutManager). Înlocuirea managerului de layout poate duce la distrugerea structurii ferestrelor. Prin urmare, metoda setLayout () este suprascrisă astfel încât să verifice valoarea pavilionului - rădăcina logică protejată rootPaneCheckingEnabled - și numai dacă valoarea acestui câmp este falsă. schimbă managerul de destinații de plasare. Valoarea implicită pentru acest câmp este adevărată. îl poți schimba metoda setRootPaneCheckingEnabled (boolean). Această metodă este protejată Acesta destinat utilizării în extinderea JWindow de clasă. Aceeași regulă se aplică atunci când încercați să adăugați o componentă la metodele add () tradiționale. addImpl () direct în fereastra JWindow. ocolind obiectul în el Cu toate acestea, puteți întotdeauna înlocui întregul panou rădăcină cu metoda setRootPane (JRootPane) sau panourile sale folosind metodele setContentPane (Container). setLayeredPane (JLayeredPane) și setGlassPane (Component). O metodă moștenită de la clasa Window, dispose (), distruge fereastra, eliberând toate resursele necesare. Clasa JDialog extinde clasa Dialog a bibliotecii AWT (vezi Capitolul 10) și este o componentă "greu". Creează casete de dialog modale sau fără moduri. Din fereastra modală, nu puteți șterge focalizarea de intrare fără să fi efectuat toate acțiunile din ea. Fiecare casetă de dialog este asociată în mod necesar cu fereastra părinte a clasei Window. Dialog sau Cadru. Chiar și constructorul implicit JDialog () creează o fereastră părinte ascunsă. Constructori JDialog (Frame). JDialog (Frame, String). JDialog (Dialog). JDialog (Dialog, String) JDialog (Fereastră). JDialog (Window, String) creează casete de dialog non-modale cu cu abilitate sau fără titlu. Constructori JDialog (Frame, boolean). JDialog (Cadru, String, Boolean). JDialog (Dialog, boolean). JDialog (Dialog, String, Boolean) creează dialoguri modale, cum ar fi mod- domeniu DEFAULT_MODALITY_TYPE. dacă ultimul parametru este adevărat. cu sau fără titlu. Constructorii JDialog (Window, Dialog.ModalityType). JDialog (Fereastră, String, Dialog.ModalityType) creează casete de dialog cu modalitatea dată. Modalitatea ferestrei și titlul acesteia pot fi modificate prin metode moștenite setModalityType (Dialog.ModalityType) și setTitle (String). O casetă de dialog, ca și fereastra JWindow. conține în mod direct numai o singură componentă - panoul rădăcină al JRootPane - și în același mod oferă acces direct la la panourile din panoul rădăcină utilizând metodele getContentPane (). getLayeredPane (). getGlassPane () și Cel mai bun panou rădăcină getRootPane () metoda. Toate componentele trebuie plasate pe panourile din panoul rădăcinii. Aceeași politică se aplică plasării componentelor direct în caseta de dialog ca și pentru fereastra JWindow. Ca și pentru fereastra JWindow. Pentru caseta de dialog JDialog, puteți pregăti alte instanțe ale panourilor și le puteți seta utilizând metodele setRootPane (JRootPane) setContentPane (Container). setLayeredPane (JLayeredPane) și setGlassPane (Component). Caseta de dialog este prevăzută cu un cadru și o linie de antet, în care este plasată șirul scris de designer. Linia de antet are un buton Închidere. reacția la care și, în același timp, reacția la apăsarea unei combinații de taste Reacția este dată de una dintre cele trei constante: DO_NOTHING_ON_CLOSE - fără răspuns; HIDE_ON_CLOSE - fereastra devine invizibilă (implicită); DISPOSE_ON_CLOSE - fereastra este eliminată, eliberându-se RAM-ul. Dacă dezvoltatorul dorește să ceară o altă reacție la încercarea de a închide fereastra, mai întâi trebuie să dezactiveze reacția standard, de exemplu: setDefaultCloseOperation (JDialog.DO_NOTHUNG_ON_CLOSE); addWindowListener (noul WindowAdapter ()
void windowClosing publice (WindowEvent e) În mod implicit, caseta de dialog își poate schimba dimensiunea, dar această regulă poate fi modificată prin metoda moștenită setResizable (boolean). În mod implicit, caseta de dialog apare în cadru, cu o linie de antet, desenată în conformitate cu regulile shell-ului grafic al sistemului de operare. Acest proiect poate fi eliminat folosind metoda setUndecorated (true). dar, împreună cu aceasta, se va pierde și reacția standard la acțiunile mouse-ului cu elementele de design. După aplicarea acestei metode, puteți seta designul metodei Cât privește și simțiți setWindowDecorationStyle (int) din clasa JRootPane. Detalii privind aspectul și simțul sunt scrise în Foarte des, sunt create casete de dialog pentru afișarea mesajelor, avertismentelor, pentru confirmarea sau anularea unor acțiuni. În biblioteca Swing, clasa JOptionPane conține o bogată colecție de casete de dialog gata făcute. Acestea vor fi discutate mai târziu. Clasa JFrame extinde clasa Frame a bibliotecii grafice AWT. Aceasta este o fereastră independentă de nivel superior, complet echipată cu un cadru și o bară de titlu cu butoanele din meniul sistemului. Extindeți și închideți. așa cum se obișnuiește în shell-ul grafic al sistemului de operare. Constructorii clasei JFrame (). JFrame (String) creează o fereastră invizibilă cu sau fără antet. Pentru ao afișa pe ecran, trebuie să utilizați metoda Fereastra JFrame conține direct o singură componentă - panoul rădăcină al clasei JRootPane. Aceasta include tot ceea ce se spune în secțiunile anterioare, cu excepția modalității și a ferestrei părinte. Reacția de a face clic pe butonul de pe fereastra de închidere este de asemenea determinată de metoda setDefaultCloseOperation (int). dar parametrul poate lua una mai mult, a patra valoare: EXIT_ON_CLOSE - închide metoda de aplicare System.exit (0). Această valoare nu ar trebui folosită în aplicații. Rețineți, de asemenea, că fereastra JFrame moștenește din clasa Frame capacitatea de a înlocui comanda rapidă a butonului de meniu al sistemului - o ceașcă de cafea cu abur - cu o altă etichetă a metodei - La fel ca în casetele de dialog, puteți elimina proiectarea ferestrei executate în conformitate cu regulile managerului de ferestre din shell-ul grafic al sistemului de operare utilizând metoda setUndecorated (true). apoi setarea design-ului metodei curente Look and Feel Clasa JInternalFrame creează o fereastră foarte asemănătoare ferestrei de clasă JFrame. dar există doar într-o altă fereastră, de obicei fereastra de clasă JDesktopPane. Poate fi mutat, redimensionat, colapsat și desfăcut, dar toate acestea se pot face fără a trece dincolo de fereastră. Deoarece fereastra internă nu depinde de sistemul de operare, ci este creată integral de Java, devine implicit Java LF implicit. Spre deosebire de fereastra JFrame, programul în sine poate gestiona fereastra de clasă JInternalFrame. fereastra interioară poate fi activată sau dezactivată pentru a redimensiona, se prăbușește într-o comandă rapidă și se deschide pe întreaga fereastră, închisă. În mod prestabilit, aceste patru proprietăți nu sunt prezente. Fereastra interioară creată de constructorul implicit este JInternalFrame (). nu există butoane de restrângere. Deschideți. Închide. Când cursorul mouse-ului este așezat pe marginea ferestrei, cursorul nu își modifică aspectul și nu permite modificarea dimensiunii ferestrei, antetul lipsește. În plus, fereastra implicită este invizibilă. Opțiunile de modificare a ferestrelor sunt stabilite de constructori de clasă sau de metode setClosable (boolean). setTitle (String). setIconifiabil (boolean). setMaximizable (boolean). setResizable (boolean). setVisible (boolean). Constructorul principal de clasă reglementează toate aceste posibilități: JInternalFrame (Titlu șir, boolean redimensionabil, boolean închis, boolean maximizabil, boolean iconifiable) Restul constructorilor nu au unul sau mai mulți parametri, iar parametrii lipsă sunt setați la false. În Fig. 14.11 arată două ferestre interne create de diferiți designeri. Prima fereastră este deplasată spre stânga, este parțialJFrame fereastra de nivel superior
Fereastră interioară JInternalFrame
Articole similare