Menyular Java dasturlash tili oynaga foydalanuvchi interfeysi elementi xisoblanadigan menyular
joylashtirish imkoniyatini beradi. Menyu xosil qilish uchun birinchi navbata menyular ro’yxati
joylashgan menyu qatori yaratiladi. Menyu qatori
JMenuBar
klassi tomonidan yaratiladi.
JMenuBar menyuQatori = new JMenuBar();
Menyu elementi
JMenu
klassi yordamida yaratilib
JMenuBar
klassining
add()
metodi
yordamida menyu qatoriga qo’shiladi.
JMenu faylMenyusi = new JMenu("Fayl");
menyuQatori.add(faylMenyusi);
So’ngra, menyu elementlari
JMenuItem
klassi yordamida yaratiladi va JMenyu klassining
add() metodi yordamida menyuga qo’shiladi.
JMenuItem saqlashItem = new JmenuItem("Saqlash");
faylMenyusi.add(saqlashItem);
Menyu elementlari bosilganda
ActionEvent
xodisasi xosil qilinib uni
ActionListener
interfeysi yordamida qabul qilib ushbu menyu elementiga tegishli amal bajarish mumkin.
Quyidagi misolda menyu qatori joylashgan oyna keltirilgan:
JMenuBar
, JMenu
va JMenuItem
klasslari yordamida yaratilgan menyu Ushbu oyna quyidagi dastur yordamida yaratilgan:
import java.awt.*;
import javax.swing.*;
public class MenyuTest
{
public static void main(String[] args)
{
JFrame frame = new JFrame("Menyu Test");
JMenuBar menyuQatori = new JMenuBar();
JMenu faylMenyusi = new JMenu("Fayl");
menyuQatori.add(faylMenyusi);
JMenuItem saqlashItem = new JMenuItem("Saqlash");
faylMenyusi.add(saqlashItem);
JMenuItem ochishItem = new JMenuItem("Ochish");
faylMenyusi.add(ochishItem);
JMenu formatMenyusi = new JMenu("Format");
menyuQatori.add(formatMenyusi);
JMenuItem shriftItem = new JMenuItem("Shrift");
formatMenyusi.add(shriftItem);
frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
frame.setSize(300,200);
frame.setJMenuBar(menyuQatori);
frame.setVisible(true);
}
}
Menyu elementlari tugmalar singari yozuvga qo’shimcha rasmga xam ega bo’lishi. Buning
uchun
JMenuItem
klassining quyidagi dastur kodidan foydalanish mumin:
Icon saqlashIcon = new ImageIcon("saqlash.png");
JMenuItem saqlashItem = new JMenuItem("Saqlash", saqlashIcon);
MenyuTest
dasturiga yuqoridagi o’zgarishni kiritib quyidagi o’zgarishni olamiz:
Rasmli menyu elementi Shuni yodda tutish kerakki,
saqlash.png
fayli
MenyuTest
dasturi joylashgan papkada
joylashisji kerak.
Menyuga uning elementi sifatida boshqa menyuni ostki menyu sifatida joylashtirish
mumkin. Masalan,
MenyuTest
dasturida yangi Menyu yaratib uni Fayl menyusiga ostki menyu
sifatida qo’shamiz.
JMenu importMenyu = new JMenu("Import");
JMenuItem xujjatItem = new JMenuItem("Xujjatni import qilish");
importMenyu.add(xujjatItem);
faylMenyusi.add(importMenyu);
MenyuTest dasturiga ushbu o’zgarishlarni kiritib quyidagini olamiz:
Ostki meyuga ega menyu Foydalanuvchi menyu elementlarini faqatgina sichqon yordamida emas, balki klaviatura
yordamida tanlashi mumkin. Buning uchun menyu elementlariga tegishli klaviatura
qisqartmalarini biriktirish kerak.
JMenuItem
klassining quyidagi konstruktoridan foydalanish
mumkin:
JMenuItem ochishItem = new JMenuItem("Ochish", ‘O’);
Natijada menyu elementining konstruktorning ikkinchi parametrida berilgan xarfi tagiga
chizilib qo’yoladi va ushbu menyu tanlanishi uchun klaviaturada Alt va tagiga chizilib qo’yilgan
xarf bosiladi.
Klaviatura qisqartmasiga ega menyu elementi Menu elementidan tashqari klaviatura qisqartmasini menyuning o’ziga xam belgilash
mumkin. Buning uchun
JMenu
klassining
setMnemonic()
metodidan foydalanish mumkin.
faylMenyusi.setMnemonic('F');
Klaviatura qisqartmasiga ega menyu Endi
MenyuTest
dasturida Fayl menyusining Ochish elementini tanlash uchun Alt+F va
Alt+O tugmalar kombinatsiyasidan foydalanish mumkin.