Biblioteca Swing include absolut toate controalele inventate până în prezent. Acestea includ butoane, steaguri, comutatoare, meniuri și elementele sale. și multe altele. Toate aceste elemente din bibliotecă sunt legate, pentru că ele sunt moștenite din clasa abstractă AbstractButton. Comportamentul oricărei componente care revendică titlul unui control.
Butoane JButton
Butoanele JButton pe langa aspectul lor nu includ aproape nimic unic. Prin urmare, tot ceea ce este potrivit pentru butoane va fi valabil pentru restul comenzilor. Cod exemplu pentru crearea unui buton standard:
Momentul principal de lucru cu butoanele nu este atât de mult cu crearea și configurarea lor, ca și cu plasarea într-un container și scrierea de manipulatori de evenimente.
Apariția butoanelor JButton poate fi ușor modificată fără a schimba managerul de aspect și comportament. Cu ajutorul butoanelor de interfață, puteți face aproape tot ceea ce - se potrivesc fiecare acțiune de utilizare a imaginii, scoateți rama, pentru a picta în orice culoare, mutați conținutul în diferite colțuri, nu trage de focalizare.
Luați în considerare exemplul în care vor fi create butoanele JButton de diferite forme și dimensiuni.
În acest exemplu, se creează o fereastră mică cu managerul fluxului secvențial FlowLayout. Formularul pune mai multe butoane, fiecare folosindu-și propriul mod de prezentare a aspectului. Imaginea de ecran afișează interfața ferestrei.
Primul din recipient este butonul cel mai comun. Apoi, există un buton pe care în loc de text există icoane pentru "toate ocaziile". Pentru a determina pictogramele, se aplică proprietățile enumerate în tabel.
Obținerea efectului de "îndreptare a mouse-ului". Când indicatorul mouse-ului se află pe buton, apare această pictogramă. De obicei, în acest caz, se utilizează aceeași pictogramă, se adaugă numai efectul de volum sau se modifică culoarea părții pictogramei.
Reprezentarea pictogramei afișată la apăsarea butonului. Pictograma rămâne până când butonul mouse-ului este eliberat.
Dacă specificați o pictogramă cu această proprietate, atunci când butonul este dezactivat (metoda setEnabled (false)), va apărea o pictogramă specială. Dacă nu există pictograme speciale, iar pictograma normală este acolo, în copie alb-negru a icoanelor obișnuite vor fi folosite ca o pictogramă pentru butonul off.
Dacă pictogramele butoanelor de afișare pe ecran „ca atare“, aceasta nu va arata la fel de bine ca și ea va rămâne tot butonul inerente normale cu proprietățile de text - va fi pictat pe cadru, în cazul în care accentul se va sublinia, dar atunci când este apăsat ea ar picta peste o culoare închisă. Pentru a elimina aceste efecte, exemplul folosește metodele setBorderPainted (). setFocusPainted () și setContentAreaFilled ().
Metoda setBorderPainted () vă permite să dezactivați desenul cadrului. Același lucru se poate face apelând setBorder (null). dar în acest caz nu puteți reveni la buton. Metoda setFocusPainted () dezactivează desenul unei buclini speciale care apare dacă butonul are o focalizare de intrare. setContentAreaFilled () face posibilă dezactivarea umplerii butonului în starea presată. Cu aceste metode, mai bine să fie atent, deoarece utilizatorul cu un buton pentru a lucra mult mai greu: să fie butonul neclar este selectat sau nu, în cazul în care începe, și așa mai departe de a utiliza aceste metode este mai bună decât în acele aplicații în care întreaga interfață se bazează pe o varietate de imagini .. (de exemplu, în jocuri).
Folosind metoda setBackground (), puteți seta culoarea de umplere a butonului JButton. Culoarea de umplere se va schimba numai dacă butonul are proprietatea opacă activată. Implicit, este instalat.
Butonul JButton, de asemenea, ca un etichete JLabel, vă permit să definiți interfața folosind HTML, care, împreună cu capacități complete pentru conținutul locației configurat și de a gestiona toate aspectele legate de aspectul de butoane conferă putere nelimitată asupra tipul de aplicare.
Butonul JButton Setări
Tabelul prezintă parametrii care vă permit să efectuați anumite setări pentru interfața butonului JButton.