Blocarea și deblocarea elementelor de meniu, blog doar despre Java

Blocarea și deblocarea elementelor de meniu, blog doar despre Java
Sunt momente când unele dintre elementele de meniu pentru a fi selectate doar în anumite situații. De exemplu, în cazul în care documentul este deschis ca read-only, elementul de meniu Salvare nu are sens. Desigur, acest punct poate fi îndepărtată folosind JMenu.remove (). dar utilizatorul poate fi surprins de un meniu în continuă schimbare. Mai bine încă blocat elementele de meniu, lipsind temporar capacitatea utilizatorului de a efectua o serie de operații.

Metoda setEnabled () este utilizată pentru a activa sau dezactiva un element de meniu.

saveItem. setEnabled (false);

Există două strategii pentru a bloca și de a debloca elementele de meniu. La fiecare schimbare de stare a programului poate provoca metoda setEnabled (). aplicarea acestuia la elementul de meniu corespunzător. De exemplu, deschiderea unui document ca read-only, puteți bloca Salvare și Salvare. Cu toate acestea, folosind această strategie, programatorul riscă să înfunde fragmente de cod de care sunt destinate să modifice starea elementelor de meniu. Este mult mai bine să nu vă faceți griji cu privire la starea elementelor de meniu în partea principală a programului și a stabilit parametrii direct în fața ecranului de afișare.

Pentru a face acest lucru, trebuie să vă înregistrați un handler eveniment asociat cu o alegere de meniu. Pachetul contine interfata MenuListener javax.swing.event. în care trei metode declarate:

  • anula menuSelected (eveniment MenuEvent)
  • anula menuDeselected (eveniment MenuEvent)
  • anula menuCanceled (eveniment MenuEvent)

menuSelected () metodă se numește înainte de meniul este afișat pe ecran. Acesta este momentul perfect pentru a bloca sau debloca elementele de meniu. Următorul fragment de cod arată modul în care punctele blocate și deblocate paragrafe Salvare și Salvare. în funcție de starea caseta de validare Numai citire a.

public void menuSelected (eveniment MenuEvent)

saveAction. setEnabled (.. readonlyItem este ales ());

saveAsAction. setEnabled (.. readonlyItem este ales ());

Mai jos este un exemplu de program care generează un meniu fix. Ea a demonstrat toate caracteristicile meniului, așa cum este descris în această secțiune: meniuri imbricate, blocat elemente, opțiuni, casetele de selectare și butoanele radio din elementele de meniu și tastele de comenzi rapide și comenzi rapide de la tastatură.