18-Ma’ruza: Menyu komponentalari Reja: Seperator компонентаси 2



Download 0,53 Mb.
bet3/5
Sana22.07.2022
Hajmi0,53 Mb.
#835859
1   2   3   4   5
Bog'liq
18-Ma'ruza

4.5 Popur Menu компонентаси


Бирор объект устида сичқончанинг ўнг тугмасини босганда ҳосил бўладиган менюга контекст ѐки қалқиб чиқувчи меню деб аталади.
Swingнинг бу компонентаси контекст менюларни яратишга мўлжалланган. Замонавий программаларни бу менюсиз тасаввур қилиш қийин. Контекст менюнинг таркиби (буйрўқлари) аниқ объектга боғлиқ бўлиб, бир объектдан бошқасига ўтганда ўзгариши мумкин. Бу менюнинг қулайлиги шундаки, у сизга аниқ объект устида жорий пайтда қайси буйруқларни амалга ошириш мумкинлиги ҳақида маълумот беради ва бу буйруқларни бажаради. Ваҳоланки мазкур буйруқлар системасини асосий менюдан ҳам топиш имконияти мавжуд, аммо бу буйруқларни асосий менюдан қидириб топиш учун кўп вақт сарфлашга тўғри келади.
Умуман, контекст менюнинг буйруқлари ҳам асосий менюнинг буйруқларини ҳосил қилишдек ҳосил қилинади. Қуйида бу компонентани ҳосил қилиш усули билан танишамиз.
Бунинг учун:
Янги проект яратинг.
Формага Palette ойнасидан Popur Menu компонентасини судраб олиб келинг. Натижада формада ҳеч қандай ўзгариш юз бермайди. Аммо Inspector ойнасида jPopurMenu1 компонента ўрнатилган ѐзув пайдо бўлади. Фараз қилайлик унинг номи Pm1 бўлсин.
Inspector ойнасидаги Pm1 устида сичқончанинг ўнг тугмасини босинг ва ҳосил бўлган контекст менюдан Add From PaletteMenu Item буйруғини икки марта танланг. Натижада Pm1 таркибида jMenuItem1 ва jMenuItem2 компоненталар пайдо бўлади. Бу компоненталарнинг хоссалар ойнаси очинг ва text бўлимига мос равишда A’lo ва Yaxshi сўзларини ѐзинг.
Энди формада сичқонча тугмаси босилгандаги (mouseClicked) ҳодисанинг программасини ѐзайлик. Фараз қилайлик, бу ҳодисанинг номи Me бўлсин. Ҳодисанинг программасини қуйидагича ѐзинг.
private void Me(java.awt.event.MouseEvent evt) { if (SwingUtilities.isRightMouseButton(evt)) { Pm1.show(getContentPane(), evt.getX(), evt.getY());
} }
Программа тўғри ишлаши учун программа бошида import javax.swing.*; буйруғини киритилиши шарт. Программани ишга тушириб, форманинг ихтиѐрий жойида сичқончанинг ўнг тугмасини боссангиз, форма учун тузилган контекст менюнинг буйруқлари пайдо бўлади (4.5.1-расм).

4.5.1-расм. 4.5.2-расм.
Бу программага эътибор берсангиз, Popur Menu компонента учун аниқланган show методидан фойдаланилган. Бу метод таркибида учта параметр бўлиб, улардан биринчиси қайси компонента учун контекст менюнинг очилишини аниқлайди. Иккинчи ва учинчи параметрлар бутун сонлар бўлиб, улар контекст меню пайдо бўладиган нуқтанинг координатаси. Программадаги evt.getX() ва evt.getY() методлари сичқонча курсори турган жойнинг координатасини аниқлайди.
Энди тугма устида сичқончанинг ўнг тугмаси босилганда пайдо бўладиган контекст менюни ҳосил қилишни кўрайлик. Бунинг учун:
Формага оддий тугма ўрнатинг.
Формага Palette ойнасидан Popur Menu компонентасини ўрнатинг ва унга Pm2 ном беринг.
Inspector ойнасидаги Pm2 устида сичқончанинг ўнг тугмасини босинг ва ҳосил бўлган контекст менюдан Add From PaletteMenu Item буйруғини,
Add From Palette  MenuItem/CheckBox буйруғини ва Add From PaletteMenuItem/RadioButton буйруқларини кетма-кет танланг. Натижада Pm1 таркибида jMenuItem3, jCheckBoxMenuItem1 ва jRadioButtonMenuItem1 компоненталар пайдо бўлади. Бу компоненталарнинг хоссалар ойнаси очинг ва text бўлимига мос равишда Professor, Dosent ва Magistr сўзларини ѐзинг.
Тугма учун ҳодиса ҳосил қилинг. Фораз қилайлик ҳодисанинг номи But бўлсин. Бу ҳодиса программасини қуйидагича ѐзинг: private void But(java.awt.event.MouseEvent evt) {
Pm2.show(jButton1, evt.getX()+10,evt.getY()+10);
}
Программани ишга тушириб, тугма устида сичқончанинг ўнг тугмасини босинг. Натижада тугма учун ҳосил қилинган контекст меню пайдо бўлади (4.5.2-расм).

Download 0,53 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©www.hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish